Assetic SCSS 过滤器不转储 CSS 个文件
Assetic SCSS filter not dumping CSS files
我的 Symfony2 配置没有使用 asset management 和 Assetic
从 SCSS 中(重新)生成 CSS 文件
当我在 CLI 中使用 "php app/console assets:install" 转储我的资产时,所有文件都在那里,但在我的开发环境中没有任何反应,当我的浏览器试图找到 CSS 文件时出现 500 错误。怎么了?
当然一切都安装在我的流浪机器上(包括ruby和sassgem)
# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles:
- MyBundle
- BraincraftedBootstrapBundle
assets:
my:
inputs:
- %kernel.root_dir%/../src/MyBundle/Resources/assets/scss/mytest.scss
output: %kernel.root_dir%/../web/css/all.css
#java: /usr/bin/java
filters:
#cssrewrite: ~
scss:
bin: /usr/local/rvm/gems/ruby-1.9.3-p551/bin/sass
apply_to: "\.scss$"
编辑:它可能与 logs/dev.log
中的这个错误有关
[2015-03-02 14:22:22] request.CRITICAL: Uncaught PHP Exception Assetic\Exception\FilterException:
Error Output: Errno::ETXTBSY: Text file busy
编辑2:可能与vagrant文件夹同步有关。我在使用 puphpet 配置排除的文件夹时遇到问题。
尽管根据您的日志文件,Assetic 可能存在一些配置问题(您可能需要弄清楚),但我认为转储 Assetic 资产的正确命令是 assetic:dump
,不是 assets:install
(它只是从包目录中复制/符号链接静态资产)。
我最终的解决方案是通过修改 app/AppKernel.php
将 vagrant 机器中的缓存目录移动到 /tmp 目录
只需添加这些代码行就足够了:
public function getCacheDir()
{
return '/tmp/myapp/cache/' . $this->environment;
}
它只是将缓存目录移到同步的 vagrant 目录之外。
我的 Symfony2 配置没有使用 asset management 和 Assetic
从 SCSS 中(重新)生成 CSS 文件当我在 CLI 中使用 "php app/console assets:install" 转储我的资产时,所有文件都在那里,但在我的开发环境中没有任何反应,当我的浏览器试图找到 CSS 文件时出现 500 错误。怎么了?
当然一切都安装在我的流浪机器上(包括ruby和sassgem)
# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles:
- MyBundle
- BraincraftedBootstrapBundle
assets:
my:
inputs:
- %kernel.root_dir%/../src/MyBundle/Resources/assets/scss/mytest.scss
output: %kernel.root_dir%/../web/css/all.css
#java: /usr/bin/java
filters:
#cssrewrite: ~
scss:
bin: /usr/local/rvm/gems/ruby-1.9.3-p551/bin/sass
apply_to: "\.scss$"
编辑:它可能与 logs/dev.log
中的这个错误有关[2015-03-02 14:22:22] request.CRITICAL: Uncaught PHP Exception Assetic\Exception\FilterException:
Error Output: Errno::ETXTBSY: Text file busy
编辑2:可能与vagrant文件夹同步有关。我在使用 puphpet 配置排除的文件夹时遇到问题。
尽管根据您的日志文件,Assetic 可能存在一些配置问题(您可能需要弄清楚),但我认为转储 Assetic 资产的正确命令是 assetic:dump
,不是 assets:install
(它只是从包目录中复制/符号链接静态资产)。
我最终的解决方案是通过修改 app/AppKernel.php
将 vagrant 机器中的缓存目录移动到 /tmp 目录只需添加这些代码行就足够了:
public function getCacheDir()
{
return '/tmp/myapp/cache/' . $this->environment;
}
它只是将缓存目录移到同步的 vagrant 目录之外。