2

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

方法一:

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

方法二:

{% 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/consoleassetic:dump 而不会出错;但是,当我尝试在浏览器中访问 app_dev.php 时出现错误:

编译“ONNBrunBundle::web.html.twig”中的模板(“无法找到文件“@ONNBrunBundle/js/jquery-1.8.0.min.js”。”)期间引发异常。

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

更新#2:

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

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

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

我已经运行缓存:清除。

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

4

1 回答 1

3

情况1)

您的文件存储在一个包中

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

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

案例2)

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

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

最后一步

转储你的文件

php app/console assetic:dump --env=prod --no-debug
于 2013-01-27T11:01:29.987 回答