Webプロジェクトの構築にGruntを使用しています。 _grunt-contrib-less
_パッケージをインストールし、grunt.initConfig({..});
にタスクを追加しました
_less : {
options: {
paths: ['js/base']
},
files: {
'js/base/*.css' : 'js/base/*.less'
}
}
_
ターゲットを実行するとless _grunt less
_を介して、エラーなしで実行されますが、lessファイルをcssファイルにコンパイルしません。
_Running "less:files" (less) task
Done, without errors.
_
lesscパッケージもノード経由でインストールしました。 _lessc <source> <dest>
_を実行すると正常に機能します。
現在、私はfiles optionで、テスト用のファイルが1つ少ない1つのディレクトリを直接指し示しています。ファイル名全体をfiles optionに書き込んでも、何も起こりません...
後で、jsディレクトリ全体をスキャンして、新しく変更された* .lessファイルをすべてコンパイルしたいと思います。
次のバージョンをインストールしました:
_grunt-cli v0.1.6
grunt v0.4.0
node v0.8.7
npm 1.1.49
_
BR、mybecks
グロブパターン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"
}
}
Anthoniesソリューションを使用しましたが、stilにエラーがありました
Warning: Object true has no method indexOf
expand true
を2番目に入れて順序を変更すると、エラーが発生しました
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"
を使用しました
これは私にとってはうまくいきますが、このシナリオを反映するように変更されています:
less: {
options: {
paths: ["js/base"]
},
files: {
expand: true,
cwd: "js/base",
src: ["**/*.less"],
dest: "js/base",
ext: ".css"
}
},