Require.js和Zend Framework

时间:2012-11-13 02:45:34

标签: php jquery zend-framework requirejs

在Zend Framework中包含Require.js的最佳方法是什么?我目前在zend框架中调用js文件的方法如下:

<?php echo $this->jQuery()->setLocalPath($this->path('js/jquery/jquery-1.7.1.min.js'))
    ->enable()
    ->setUiLocalPath($this->path('js/jquery/jquery-ui-1.8.16.custom.min.js'))
    ->uiEnable()
    ->addStylesheet($this->path('css/jquery/jquery-ui-1.8.16.custom.css'));

    echo $this->headScript()->appendFile($this->path('js/jquery.tipTip.js'))

        ->appendFile($this->path('js/customScripts/facebook.js'))
        ->appendFile($this->path('js/facebook/jquery.facebook.multifriend.select.js'))
        ->appendFile($this->path('js/customScripts/logindialog.js'))
        ->appendFile($this->path('js/customScripts/globalFunctions.js'))
        ->appendFile($this->path('js/kendo.web.min.js'))
        ->appendFile($this->path('js/customScripts/fancyAlert.js'))
        ->appendFile($this->path('js/inc/jquery.mousewheel.min.js'))
        ->appendFile($this->path('js/pagination-jq.js'))


        ->appendFile($this->path('js/jquery.tools.min.js'))
        ->appendFile($this->path('js/fancybox/jquery.fancybox-1.3.4.pack.js'))
        ->appendFile($this->path('js/jq-history/scripts/jquery.history.min.js'));

    ?>

2 个答案:

答案 0 :(得分:2)

使用require.js,您只需要在头部添加一个脚本文件(或者在关闭</body>之前)。

然后,它在require.js配置文件和模块中,您实际上将定义每个模块的依赖项。

在您的情况下,我将手动添加脚本文件:

<script src="require.js" data-main="path/to/mainScriptFile"></script>

否则,在Zend你可以这样做:

$this->headScript()
    ->setAllowArbitraryAttributes(true)
    ->appendFile($this->path('js/require.js'), "text/javascript", array('data-main' => 'path/to/mainScriptFile');

但此时,只需手动输入脚本标签,就可以节省开销。

希望这有帮助!

答案 1 :(得分:0)

在您的html文件中,您可以在<head></head>个代码之间添加该行。这是最佳方法

<script src="/path/to/require.js"></script>

或者你可以使用jquery

var jsScript = $("<script src='/path/to/require.js'></script>");
$('body').append(txt2);

这会将js附加在身体的底部