有没有办法告诉 Assetic 命令行文件在为开发环境构建时不生成复合“输出”文件?
我们使用 --watch 配置运行它。我们有合成文件需要很长时间才能生成并且没有被使用,所以这是一种严重的时间浪费。它还导致它重新生成该堆栈中的所有文件,而不是一个更改的文件。
有任何想法吗?如果没有,我很想自己重写asset:dump 命令,因为每次我们进行微小的文件更改时都会严重浪费1-3 分钟。=(
Symfony 版本:2.2.0(根据调试栏,刚刚运行 Composer 更新,没有任何变化)
config.yml(资产块)
assetic:
debug: %kernel.debug%
use_controller: false
#bundles: []
#java: /usr/bin/java
filters:
cssrewrite: ~
less:
node: /usr/bin/node
node_paths: [/usr/local/lib/node_modules,/usr/lib/node_modules]
apply_to: "\.less"
typescript:
resource: %kernel.root_dir%/../src/GamePlan/Bundle/CoreBundle/Resources/config/assetic.typescript.xml
apply_to: "\.ts"
tsc: /usr/local/bin/tsc
node: /usr/bin/node
useOut: false
(自定义 TypeScriptFilter,但它也发生在 CSS 文件中,所以它不应该是导致它的原因......这也是官方 repo 中的一个相对较小的调整。)
config_dev.yml(资产块)
assetic:
use_controller: false
示例用法:
{% stylesheets output="bundles/mybundle/styles/mystyle.css"
filter="cssrewrite"
"@MyBundle/Resources/styles/a.less"
"@MyBundle/Resources/styles/b.less"
"@MyBundle/Resources/styles/subfolder/*.less"
"@MyBundle/Resources/styles/subfolder/*/*.less"
%}
<link type="text/css" rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}
运行命令(从 /var/www 作为 www-data):
php Symfony/app/console assetic:dump --env=dev [--watch]
有或没有 --watch 都不会改变生成的文件,只要它全部完成或只是监视。
请注意,这是否会给任何人一个关于正在发生的事情的线索,但它会在生成单个开发文件之前尝试生成复合文件。
我还确保我没有复制任何包含、引用其他块中的任何复合文件等。
它没有在 HTML 中加载复合文件,但我可以看到它们是从命令生成的。
如果需要更多信息,请告诉我。谢谢。