grunt-contrib-concat:如何使用选项“进程”

时间:2013-05-21 06:30:58

标签: javascript node.js gruntjs

我正在使用Grunt为Javascript库(Widget)编写构建系统,该库将连接,缩小和打包文件以进行分发。

在连接步骤中,我想将当前日期插入到一个JS文件中,其中包含grunt-contrib-concat的进程选项,其中说明了:

  

类型:Boolean对象默认值:false

     

在连接之前将源文件作为模板处理。

     
      
  • false - 不会进行任何处理。
  •   
  • true - 使用grunt.template.process默认值处理源文件。
  •   
  • options对象 - 使用grunt.template.process处理源文件,使用指定的选项。
  •   
  • function(src,filepath) - 使用给定函数处理源文件,为每个文件调用一次。将使用返回的值   作为源代码。
  •   
     

(默认处理选项在。中解释   grunt.template.process文档)

来自Gruntfile.js的Concat部分:

    concat: {
        options: {
            stripBanners: {
                block: true
            },
            process: true,
            separator: '\n /* ----- */ \n',
            banner: '<%= meta.banner %>'
        },
        dist: {
            src: ['src/Utility.js', 'src/MainClass.js', 'src/ViewClass.js', 'src/exif.js'],
            dest: 'build/Viewer.js'
        }
    },

我将以下行放在Utility.js:

viewer.build_date = '<% grunt.template.today("yyyy-mm-dd") %>';

我预计字符串将被当前日期替换,但在连接后它是空的。

viewer.build_date = '';

使用了grunt版本0.4.1。

1 个答案:

答案 0 :(得分:1)

我想,你在下面给出的grunt标志之前错过了'='。

<%= grunt.template.today("yyyy-mm-dd") %>