Symfony 3.4:未找到资产404

时间:2018-05-16 13:34:32

标签: symfony twig assets assetic

我需要在视图中添加另一个js脚本。

所以我在 assetic.yml 文件中创建了一个新配置:

assetic:
    debug: "%kernel.debug%"
    use_controller: false
    bundles:
      - AppBundle

    filters:
        cssrewrite: ~
        uglifyjs2:
            bin: '%kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs'
        uglifycss:
            bin: '%kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss'
        less:
            node_paths: ['%kernel.root_dir%/Resources/node_modules/', '%kernel.root_dir%/Resources/node_modules/less/node_modules/']
            apply_to: '\.less$'

    assets:
        app_gestion_poste_js:
            inputs:
                - '@AppBundle/Resources/public/js/GestionPoste/gestion.js'
            filters: [?uglifyjs2]
            output: js/poste/gestion-poste.js

我在我的twig文件中添加了我的脚本:

{% block foot_script_assetic %}
    {{ parent() }}
    {% javascripts
        '@app_another_script_js'
        '@app_gestion_poste_js'
    %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

我运行了这些命令:

  • php bin / console assets:install
  • php bin / console assetic:dump

许多文件都会转储到网络文件夹中。我可以在web / js / poste / gestion-poste.js中找到我的文件,也可以在web / bunde /中找到... 但是当我运行我的页面时,有一些404找不到错误:

> GET http://myapp/js/d6e0c99_part_1.js?00.02.00 404 (Not Found)
> GET http://myapp/js/d6e0c99_part_2.js?00.02.00 404 (Not Found)
> GET http://myapp/js/d6e0c99_part_1.js?00.02.00 404 (Not Found)
> GET http://myapp/js/d6e0c99_part_2.js?00.02.00 404 (Not Found)
  • 找不到这两个文件。
  • 为什么要加载两次文件?

如果我从资产指令中删除我的新脚本,则第一个脚本可以运行并找到:

{% block foot_script_assetic %}
    {{ parent() }}
    {% javascripts
        '@app_another_script_js'
    %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

如果我将脚本添加到另一个视图中,我会遇到同样的问题。找不到页面的所有脚本。

我试图:

  • 更改我的JS文件的权利
  • 通过简单的脚本更改js文件内容,例如:console.log('hello');
  • 复制/粘贴另一个可在assetic.yml配置中使用的js文件

prod环境中存在同样的问题:(

谢谢!

0 个答案:

没有答案