Ubuntu12.04に最新のGruntをインストールしました。これが私のgruntfileです:
module.exports = function(grunt){
//project configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
slides : {
src : ['src/top.html', 'src/bottom.html'],
dest : ['build/index.html']
}
}
});
//enable plugins
grunt.loadNpmTasks('grunt-contrib');
grunt.registerTask('default', ['concat:slides']);
}
これにより、build /ディレクトリが正常に作成されますが、次の出力が得られます。
「concat:slides」(concat)タスクの実行警告:「build/index.html」ファイルを書き込めません(エラーコード:未定義)。 --forceを使用して続行します。
パーミッションと関係があるのではないかと思ったので、ディレクトリでchmod 777を実行してみましたが、何も変わらなかったようです。
Gruntがbuild/index.htmlに書き込むようにするには、どうすればよいですか?
理解した:
//Does not work
dest : ['build/index.html']
文字列として機能しますが、配列としては機能しません。
//Works
dest : 'build/index.html'
タスク/concat.jsをdestの配列を受け入れるように変更しました:
// Write the destination file.
// If f.dest is an array take the first element
var dest = ([].concat(f.dest))[0]
grunt.file.write(dest, src);
しかし後で、src/destの代わりにファイルフォームを使用することにしました。
files: { 'dest.js': ['a.js', 'b.js'] }