更改 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 %}

清除和温暖的缓存,运行资产:转储和所有工作。

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