在windows上用symfony2less用
我试图在Windows操作系统上进行开发的同时减less资源工作。
我加载一个现有的项目,我可以根据需要改变config.yml和parameters.yml文件。
迄今为止的步骤:
- 我已经通过msi安装程序安装了Node.js
- 我已经使用npm并且安装得更less
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
目录直接移动到program files (x86)/nodejs/node_modules
目录中的本地node_modules
目录中,但无济于事。
我也尝试设置roaming/npm/node_modules/less
目录添加到环境path,没有喜悦。
我试着less
直接安装到项目中,直接指向node_path,没有喜悦。
输出的css文件中的错误如下所示:
[例外] 500 | 内部服务器错误| Assetic \ Exception \ FilterException [message]运行时出错:“C:\ Program Files(x86)\ nodejs \ node.exe”“C:\ Users \ Matt \ AppData \ Local \ Temp \ assEC1E.tmp”
(这是相当无益的)
任何帮助表示赞赏,我们都有点卡在办公室。
这是一个老问题,但是,因为我发现了同样的问题,我终于解决了这个问题,所以我想发布答案。
在Windows上使用LESS的推荐方法是使用Lessphp软件包。 要添加它,你只需添加你的composer phpJSON下面一行:
"require": { ..... "leafo/lessphp": "dev-master", ..... }
那你一定跑吧
$ php composer.phar update
并用这个configuration更新你的app/config/config.yml
:
assetic: #... filters: lessphp: file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php apply_to: "\.less$"
一旦你这样做了,你将能够预处理LESS文件并生成CSS文件。
那么当你想用资产处理文件时,你只需要在你的视图中包含这个filter,例如:
{% stylesheets filter='lessphp' output='css/main.css' '@AppBundle/Resources/public/less/*' %}