我正在使用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。
答案 0 :(得分:1)
我想,你在下面给出的grunt标志之前错过了'='。
<%= grunt.template.today("yyyy-mm-dd") %>