我试图在Windows操作系统上进行开发时减少资产工作。
我正在加载一个现有的项目,我可以根据需要修改config.yml和parameters.yml文件。
到目前为止的步骤:config.yml
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [ FOSUserBundle ]
filters:
less:
node: "C:\\Program Files (x86)\\nodejs\\node.exe" #/usr/local/bin/node
node_paths: [C:\Users\matt\AppData\Roaming\npm\node_modules\less] #[ /usr/local/lib/node_modules ]
apply_to: "\.less$"
我已尝试将appdata/roaming/npm/node_modules/less
目录直接移至node_modules
目录中的本地program files (x86)/nodejs/node_modules
目录,但无济于事。
我也尝试过将roaming/npm/node_modules/less
dir添加到环境路径中,没有快乐。
我尝试将less
直接安装到项目中并将node_path直接指向它,没有任何乐趣。
输出的css文件中的错误如下:
[例外] 500 |内部服务器错误| Assetic \异常\ FilterException异常 [message]运行时发生错误: " C:\ Program Files(x86)\ nodejs \ node.exe" " C:\用户\马特\应用程序数据\本地\ TEMP \ assEC1E.tmp"
(这是无益的)
任何帮助表示感谢,我们都有点陷入办公室。
答案 0 :(得分:1)
这是一个老问题,但是,由于我发现了同样的问题,我终于解决了,我想发布答案。
在Windows上使用LESS的推荐方法是使用lessphp包。要添加它,您只需在作曲家json中添加以下行:
"require": {
.....
"leafo/lessphp": "dev-master",
.....
}
然后你必须运行
$ php composer.phar update
并使用以下配置更新您的app/config/config.yml
:
assetic:
#...
filters:
lessphp:
file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php
apply_to: "\.less$"
完成此操作后,您将能够预处理LESS文件并生成CSS文件。
然后,当您想要使用assetic处理文件时,您只需在视图中包含该过滤器,例如:
{% stylesheets filter='lessphp' output='css/main.css'
'@AppBundle/Resources/public/less/*'
%}