5

私はWindowsでSymfony2をセットアップしようとしていて、より少ないコストでアセットを使用できるようにしています。

Windows用のnode.js(0.6.8)をインストールしました。それから私は走っnpm install less --globalて、より少ないものを見つけましたC:\Users\Matt\AppData\Roaming\npm\node_modules

私のSymfonyのセットアップに関しては、Assetic(1.0.2で読んだバグのために)のマスターブランチがありますが、標準のv1.0.1はAsseticBundle

いくつかの作業の後、次の方法でレンダリングするファイルの例を少なくすることができました: http://localhost/app_dev.php/css/compiled-main_part_1_boilerplate_1.css

次に、(同じサブディレクトリにある)他の.lessファイルを@importする.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

dev config override:

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"
4

3 に答える 3

4

はい、lessphpを使用します(サーバー側)

Symfony2.1。アセットlessphpフィルターを統合する方法。以下を追加します

composer.jsonへのパッケージ:

"require": {
    ...
    "leafo/lessphp": "dev-master",
    ...
}

phpcomposer.pharアップデートを実行します

config.ymlを更新します

#...
assetic:
    #...
    filters:
        lessphp:
            file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php
            apply_to: "\.less$"

またはless.js(クライアント側)を使用します

<link rel="stylesheet/less" type="text/css" href="styles.less">
<script src="less.js" type="text/javascript"></script>
于 2012-10-31T16:47:15.950 に答える
3

私は以下を使用しました、そしてこれは私のために働きます。これは「node.exe」であり、単なるノードではないことに注意してください。

node: "C:\\Program Files (x86)\\nodejs\\node.exe"
node_paths: ["C:\\Users\\Ben\AppData\\Roaming\\npm\\node_modules"] 
apply_to:   "\.less$"
于 2013-06-21T12:03:44.037 に答える
0

誰も実際に答えを持っていないので、Symfony2でLESSとnode.jsを使用しているWindows開発者は非常に少ないと思います。

私の解決策は、オートローダーに入れたら正常に機能するlessphpを使用することでした。

于 2012-02-15T19:43:18.007 に答える