为什么只有一些js库加载Symfony2 / Twig?

时间:2013-01-27 00:40:05

标签: javascript symfony twig assetic

尝试加载多个js库。使用下面的任何一种方法,bootstrap和facebook js文件都可以正常加载,但是我添加的任何其他库如果按名称调用则抛出500错误,或者如果使用/ *只是不加载,则文件全部在同一目录中据我所知,相同的权限。为什么会发生这种情况?我该如何解决?

方法1:

{% javascripts
        'bundles/onnbrun/js/*'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

方法2:

{% javascripts
        'bundles/onnbrun/js/jquery-1.8.0.min.js'
        'bundles/onnbrun/js/jquery-ui-1.9.0.js'
        'bundles/onnbrun/js/bootstrap.min.js'
        'bundles/onnbrun/js/facebook_enable.js'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

更新#1:

使用下面建议的@Bundle语法,我可以运行php app / console assetic:dump而不会出错;但是,当我尝试在浏览器中访问app_dev.php时,我收到错误:

在“ONNBrunBundle :: web.html.twig”中编译模板(“无法找到文件”@ ONNBrunBundle / js / jquery-1.8.0.min.js“。”)时抛出异常

我可以通过ide和putty查看位于我的bundle的Resources / public / js目录中的文件。

更新#2:

来自#symfony的lee的建议尝试在我的浏览器中路由到我的js目录,瞧!只有两个js文件一直在正常服务 - 没有别的。

所以... / www / src / ONN / BrunBundle / Resources / public / js向我展示了当我通过putty或通过我的ide或任何随机ftp程序查看时我正在尝试提供的所有js文件;但是,浏览器中的/ web / bundles / onnbrun / js /仅显示正确提供的两个js文件。

我已经运行了资产:dump和assetic:dump --env = prod --no-debug,没有错误。

我已经运行缓存:清除。

我不知道是什么导致了这种差异。

1 个答案:

答案 0 :(得分:3)

案例1)

您的文件存储在一个包中

如果是这种情况,请使用以下代码

{% javascripts
        '@YourBundle/Resources/public/js/*'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

案例2)

您的文件存储在根网站目录下的js目录(不是捆绑目录)

{% javascripts
        'js/*'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

最后一步

转储您的文件

php app/console assetic:dump --env=prod --no-debug