减少Windows Node.js挂起

减少Windows Node.js挂起,windows,node.js,symfony,less,assetic,Windows,Node.js,Symfony,Less,Assetic,我一直在尝试在Windows上安装Symfony2,以便我可以用更少的资源使用assetic 我已经安装了node.js for Windows(0.6.8)。然后我运行了npm install less--global,并在C:\Users\Matt\AppData\Roaming\npm\node\u模块中找到了less 就我的Symfony设置而言,我拥有Assetic的主分支(由于我在1.0.2中读到的一个bug),但是AsseticBundle 经过一些工作,我能够通过以下方式获得一个

我一直在尝试在Windows上安装Symfony2,以便我可以用更少的资源使用assetic

我已经安装了node.js for Windows(0.6.8)。然后我运行了
npm install less--global
,并在
C:\Users\Matt\AppData\Roaming\npm\node\u模块中找到了less

就我的Symfony设置而言,我拥有
Assetic
的主分支(由于我在1.0.2中读到的一个bug),但是
AsseticBundle

经过一些工作,我能够通过以下方式获得一个无示例的文件进行渲染:

然后我切换了一个.less文件,该文件@imports其他.less文件(在同一子目录中)。每当我尝试转到本地服务器上的该页面时(使用此较少的配置),它就会挂起,我可以看到命令进程和node.exe进程都在运行

该命令正在尝试运行node.js中的脚本,该脚本存在于我的临时目录中。我可以在命令提示符下通过node.js运行该文件,但无法使用Symfony/Assetic加载该文件

在Windows上是否仍然可以使用node.js、less和assetic

以下是我的相关配置文件部分:

# 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
在parameters.ini中:

assetic_node="C:\\Program Files (x86)\\nodejs\\node"
assetic_less_path="C:\\Users\\Matt\\AppData\\Roaming\\npm\\node_modules"

由于没有人真正有任何答案,我只能假设很少有Windows开发人员在Symfony2中使用LESS和node.js

我的解决方案是使用LESSHPP,一旦我将其放入自动加载器,它就可以正常工作。

是的,使用(服务器端)

Symfony2.1。如何集成assetic LESSHPP过滤器。添加以下内容 打包到composer.json: 运行php composer.phar更新 并更新您的config.yml 或使用(客户端)


我使用了以下方法,这对我很有用。请注意,它是“node.exe”,而不仅仅是node

node: "C:\\Program Files (x86)\\nodejs\\node.exe"
node_paths: ["C:\\Users\\Ben\AppData\\Roaming\\npm\\node_modules"] 
apply_to:   "\.less$"

我将参数更改为:
assetic\u less\u path=“C:\\web\u workspace\\lib\\node\u modules”
,我可以再次加载页面。然后我尝试再次加载该页面或正常页面,但它又挂起了…我已经一年没有研究过这个了。但可能不是。可能会开一个问题?我在这里开了一个,如果你可以的话,投它一票。Assetic中有一个bug。我打开了一个拉请求来修复它。原因是env变量SystemRoot尚未传递到node.js进程。由于LESSHP中less的新实现中存在错误,此解决方案有效
#...
assetic:
    #...
    filters:
        lessphp:
            file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php
            apply_to: "\.less$"
<link rel="stylesheet/less" type="text/css" href="styles.less">
<script src="less.js" type="text/javascript"></script>
node: "C:\\Program Files (x86)\\nodejs\\node.exe"
node_paths: ["C:\\Users\\Ben\AppData\\Roaming\\npm\\node_modules"] 
apply_to:   "\.less$"