使用模板作为grunt文件列表

时间:2013-04-20 14:00:35

标签: gruntjs

我正在尝试使用模板用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/**']?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

简单错字!

该行:

 src: ["<%= libSrc %=>"],

应该已阅读

 src: ["<%= libSrc %>"],