在windows上用symfony2less用

我试图在Windows操作系统上进行开发的同时减less资源工作。

我加载一个现有的项目,我可以根据需要改变config.yml和parameters.yml文件。

迄今为止的步骤:

  1. 我已经通过msi安装程序安装了Node.js
  2. 我已经使用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/*' %}