web-dev-qa-db-ja.com

GruntConcatはファイルに書き込めません

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に書き込むようにするには、どうすればよいですか?

31
Andrew Carreiro

理解した:

//Does not work
dest : ['build/index.html']

文字列として機能しますが、配列としては機能しません。

//Works
dest : 'build/index.html'
82
Andrew Carreiro

タスク/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'] }
0
Randall Bohn