32

刚刚在 Ubuntu 12.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?

4

2 回答 2

82

弄清楚了:

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

作为字符串工作,但不是数组:

//Works
dest : 'build/index.html'
于 2013-03-20T12:21:56.877 回答
0

我更改了 tasks/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'] }
于 2013-12-03T14:34:56.803 回答