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

4

我正在使用Grunt编写构建系统,用于一个JavaScript库(Widget),该库会将文件合并,压缩和打包以供分发。

在合并步骤中,我想要使用grunt-contrib-concat的process选项来向一个JS文件中插入当前日期,其中说明如下:

类型:布尔对象 默认值:false

在合并之前将源文件视为模板进行处理。

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

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

Gruntfile.js中的合并部分:

    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个回答

1
我认为,您在grunt标记之前漏掉了'=',如下所示。
<%= grunt.template.today("yyyy-mm-dd") %> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接