更改 Assetic 的输出不会使其从同一文件夹中读取

Changing output of Assetic doesn't make it read from the same folder

我在使用 Symfony 中的 Assetic 时遇到了一个小问题。它在静态文件夹中生成文件,但它试图将它们从 web 文件夹中取出,它不会更深入到静态文件夹。我明明删除了缓存

这是我的配置文件

assetic:
    debug:          "%kernel.debug%"
    use_controller: "%kernel.debug%"
    write_to:       %kernel.root_dir%/../web/static/
    filters:
        uglifyjs2:
            bin:  %kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs
        uglifycss:
            bin:  %kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss
        cssrewrite: ~

这是一个文件的样子:

{% javascripts
    'assets/vendor/scrollreveal/dist/scrollReveal.min.js'
    'assets/vendor/seiyria-bootstrap-slider/dist/bootstrap-slider.min.js'
    'js/select2.min.js'
    'js/smoothscroll.js'
    'js/languages.js'
    'js/infinity-run-lsww.js' filter='uglifyjs2' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

我是不是漏掉了什么?

如果有帮助,我在预热缓存时也会遇到内存不足错误。

Fatal error: Out of memory (allocated 1965293568) (tried to allocate 65488 bytes) in E:\svn\medapp\vendor\twig\twig\lib\Twig\Environment.php on line 378

在添加 write_to 参数之前我没有得到这个。

设法使用 Symfony 2.7 最近添加的功能做到这一点

这需要添加到 config.yml

framework:
    assets:
        packages:
            assetic:
                base_path: /static

然后将package='assetic'添加到资产模板中。

{% stylesheets 'css/themes/blackTheme.css' package='assetic' filter='cssrewrite' filter='?uglifycss' %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

清除和预热缓存,运行 assetic:dump 一切正常。

问题是 css 中的字体和图像。他们遵循 web/ 而不是 web/static 的旧相对路径,所以这是我目前面临的问题。我相信 FkrCssURLRewriteBundle 可以帮助解决这个问题。