我正在尝试使用模板用Grunt复制一些文件。目前,我有:
/*global module:false*/
module.exports = function(grunt) {
var fs = require('fs');
var path = require('path');
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.json'),
libSrc: ['foo/**'],
// Task configuration.
copy: {
libs: {
src: ["<%= libSrc %=>"],
dest: 'src/'
}
}
});
// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-dojo');
grunt.loadNpmTasks('grunt-bless');
// Default task.
grunt.registerTask('default', ['jshint']);
};
我的目录结构是:
.
./.Gruntfile.js.swp
./src
./src/foo
./src/foo/oops.js
./node_modules
./package.json
./foo
./foo/oops.js
./Gruntfile.js
当我跑Grunt时,我得到:
grunt copy
Running "copy:libs" (copy) task
Done, without errors.
即。没有被复制。
我尝试用实际数组替换模板,但事情正常。问题是,我将在此Gruntfile的后续迭代中修改libSrc
与其他任务的值,因此我做需要使用该模板。
基本的grunt文档表明这是一种受支持的方法,尤其是http://gruntjs.com/configuring-tasks#templates的示例。
那么,我在这里错过了什么吗?为什么模板没有扩展到['foo/**']
?有什么建议吗?
答案 0 :(得分:1)
简单错字!
该行:
src: ["<%= libSrc %=>"],
应该已阅读
src: ["<%= libSrc %>"],