我一直在尝试在 Windows 上设置 Symfony2,这样我就可以用更少的资源使用资产。
我已经为 Windows (0.6.8) 安装了 node.js。然后我跑了npm install less --global
,发现少了C:\Users\Matt\AppData\Roaming\npm\node_modules
至于我的 Symfony 设置,我有 master 分支Assetic
(由于我在 1.0.2 中读到的一个错误),但标准 v1.0.1AsseticBundle
经过一些工作,我能够通过以下方式获得一个更少的文件示例: http://localhost/app_dev.php/css/compiled-main_part_1_boilerplate_1.css
然后我切换了一个 .less 文件,它 @imports 其他 .less 文件(在同一个子目录中)。每当我尝试访问本地服务器上的那个页面时(使用这种较少的配置),它就会挂起,我可以看到一个命令进程和一个 node.exe 进程都在运行。
该命令正在尝试在我的临时目录中存在的 node.js 中运行脚本。我可以在命令提示符下通过 node.js 运行该文件,但我无法使用 Symfony/Assetic 加载它。
无论如何在 Windows 上使用 node.js、less 和资产?
这是我的相关配置文件部分:
# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [FeedStreamMainBundle]
# java: /usr/bin/java
filters:
cssrewrite: ~
less:
node: %assetic_node%
node_paths: [%assetic_less_path%]
yui_js:
jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar"
yui_css:
jar: %kernel.root_dir%/java/yuicompressor-2.4.2.jar
# closure:
# jar: %kernel.root_dir%/java/compiler.jar
开发配置覆盖:
assetic:
use_controller: true
在参数.ini 中:
assetic_node="C:\\Program Files (x86)\\nodejs\\node"
assetic_less_path="C:\\Users\\Matt\\AppData\\Roaming\\npm\\node_modules"