我正在开发一个遗留应用程序,我们正在缓慢地迁移到Symfony。目前Symfony2.6 (由于PHP版本),但很快Symfony3.1。
遗留应用程序已经使用主根中的目录/css/、/js/来管理css+js。
问题是Assetic在从包中编译css+js文件之后也会将它的文件转储到那里。但是这些文件是生成的,不应该以git结束,而遗留文件应该由git管理。
随着时间的推移,遗留文件将完全消失,一切都将由Assetic处理,但就目前而言,我必须与两个工作并肩作战。
我想重新配置Assetic,在生成css+js文件时使用不同的目录。它还应该相应地调整网页上使用的url。最好是添加一个额外的前缀目录。
到目前为止,我发现了两种可能有效的方法:
1:使用assetic的write_to配置。但是,这似乎只影响assetic:dump命令,不应用于更改输出dir (根据注释)。这不会更改浏览器用于检索文件的url。
2:对模板中的每个%javascripts%和%stylesheets%标记使用%javascripts%参数。虽然这似乎控制了文件的去向,但我发现在每个标记上都需要这样做是不合逻辑的。我应该可以配置这个系统范围的。
如何调整Symfony和/或Assetic配置以更改用于生成css+js文件的目录和web-dir?
发布于 2016-06-22 19:05:17
可以使用write to进行输出dir,并在框架配置下在资产中定义基本路径。
assetic:
write_to: "%kernel.root_dir%/../web/foo"
framework:
assets:
base_path: "foo"自从2.7 这里有更多的信息以来,有一个新的资产组件
你可以打电话给
{% javascripts '@AcmeBundle/Resources/public/js/bar.js' output="js/bar.js" %}
<script src="{{ asset_url }}" defer></script>
{% endjavascripts %}ps:因为symfony 2.8 assetic不包括在Symfony标准版中。您可以检查像大口吞下这样的选项,以便更容易地处理资产管理。
https://stackoverflow.com/questions/37939313
复制相似问题