14

Webプロジェクトの構築にGruntを使用しています。パッケージをインストールgrunt-contrib-lessし、タスクを追加しましたgrunt.initConfig({..});

less : {
            options: {
                paths: ['js/base']
            },
            files: {
                'js/base/*.css' : 'js/base/*.less'
            }
        }

を介してターゲットをlessgrunt lessで実行すると、エラーなしで実行されますが、lessファイルがcssファイルにコンパイルされません。

Running "less:files" (less) task

Done, without errors.

私もノード経由でlesscパッケージをインストールしました。うまくいきlessc <source> <dest>ます。

現在、ファイルオプションを使用して、テスト用のファイルが1つ少ない1つのディレクトリを直接指定しています。ファイル名全体をfilesオプションに書き込んでも、何も起こりません...

後で、jsディレクトリ全体をスキャンして、新しく変更された*.lessファイルをすべてコンパイルしたいと思います。

次のバージョンをインストールしました:

grunt-cli v0.1.6
grunt v0.4.0
node v0.8.7
npm 1.1.49

BR、mybecks

4

3 に答える 3

45

globパターンjs/base/*.cssはどのファイルとも一致しないため、宛先はありません。通常、このようなタスクでは、複数の入力が1つの出力に結合されることが期待されます。また、それlessマルチタスクfilesであり、の子として置くlessことはあなたが期待することをしていないことを覚えておいてください。(これは、src / destマップではなく、ターゲットとして扱われます)

.lessから.cssへの1-1変換が必要な場合は、動的展開を使用できます。(または、各src / destペアを手動で定義できますが、誰がそれを実行したいですか?)

あなたの場合:

less: {
    options: {
        paths: ['js/base']
    },
    // target name
    src: {
        // no need for files, the config below should work
        expand: true,
        cwd:    "js/base",
        src:    "*.less",
        ext:    ".css"
    }
}
于 2013-02-26T16:58:11.540 に答える
9

Anthoniesソリューションを使用しましたが、stilにエラーがありました

Warning: Object true has no method indexOf

2番目に順番を変更するexpand trueと、エラーが発生しました

Unable to read "less" file

ここで、「less」は私のリストの最初の項目の値でした。

私はファイルを次のような配列に変更することでそれを解決しました:

less: {
    options: {

            paths: ["js/base"]
        },
        files: [{
            expand: true,
            cwd: "js/base",
            src: ["**/*.less"],
            dest: "js/base",
            ext: ".css"
        }]
},

使用しました"grunt-contrib-less" : "^0.11.0"

于 2014-07-08T09:55:43.413 に答える
6

これは私にとってはうまくいきますが、このシナリオを反映するように変更されています:

less: {
    options: {
        paths: ["js/base"]
    },
    files: {
        expand: true,
        cwd: "js/base",
        src: ["**/*.less"],
        dest: "js/base",
        ext: ".css"
    }
},
于 2014-05-15T01:50:16.253 に答える