使用`Gruntfile.js`中的属性来指定目标目录,类似于ant?

时间:2013-12-30 22:29:34

标签: node.js gruntjs grunt-contrib-copy

我是否可以使用属性(类似于ANT)来指定使用grunt-contrib-copy复制文件的目标目录,例如:

  // Project Configuration
  grunt.initConfig({
    properties: {
        /* Templates Directory for Express.js */
        /* (Destination Directory for hjs files in nanoc_outputdir) */
        express_templates_directory: './templates',

        /* Express public directory for static files */
        /* (Here we will hold static files like *.css and images ) */
        express_public_directory: './public',

        express_css: '<%= properties.express_public_directory %>/stylesheets',

        /* The directory where nanoc outputs our templates */
        nanoc_outputdir: './output'  
     },
     /* ... */
    copy: {
            cptemplates: {
                files: [
                         {expand: true, cwd: '<%= properties.nanoc_outputdir %>/', src:'*.html', dest: '<%= properties.express_templates_directory  %>/'}
        ]
    }
} */

1 个答案:

答案 0 :(得分:1)

我不确定是否有办法制作属性任务,但你绝对可以把它变成一个变量:

var properties = {
  /* Templates Directory for Express.js */
  /* (Destination Directory for hjs files in nanoc_outputdir) */
  express_templates_directory: './templates',

  /* Express public directory for static files */
  /* (Here we will hold static files like *.css and images ) */
  express_public_directory: './public',

  express_css: './public/stylesheets',

  /* The directory where nanoc outputs our templates */
  nanoc_outputdir: './output',
};

grunt.initConfig({
  copy: {
    cptemplates: {
      files: [
        {
          expand: true,
          cwd: properties.nanoc_outputdir,
          src: '*.html',
          dest: properties.express_templates_directory,
        }
      ]
    }
  }
});