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

Node.js 使用`Gruntfile.js`中的属性指定目标目录,类似于ant?,node.js,gruntjs,grunt-contrib-copy,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) */ exp

我是否可以使用属性(类似于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  %>/'}
        ]
    }
} */
//项目配置
grunt.initConfig({
特性:{
/*Express.js的模板目录*/
/*(nanoc_outputdir中hjs文件的目标目录)*/
express\u templates\u目录:'./templates',
/*静态文件的快速公共目录*/
/*(这里我们将保存*.css和图像等静态文件)*/
express\u public\u目录:'./public',
express_css:“/stylesheets”,
/*nanoc输出模板的目录*/
nanoc_outputdir:'/输出'
},
/* ... */
副本:{
CPC模板:{
档案:[
{expand:true,cwd:'/',src:'*.html',dest:'/'}
]
}
} */

我不确定是否有办法创建属性任务,但您肯定可以将其设置为变量:

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,
        }
      ]
    }
  }
});

为什么不使用不同的配置文件呢?比如copy:prod,copy:test…等等。这一行
express\u css:'/stylesheets'
不起作用。但是
语法在下面的任务中起作用。修复了,谢谢。如果你愿意,你可以使用四个单独的实例变量而不是一个对象。这样,你可以说
var express\u css=express\u public\d目录+“/stylesheets”;