如何将变量值从GULP注入到JS文件中

And*_* R. 9 javascript javascript-objects gulp gulp-header

希望这是一个快速的问题.

我正在尝试做的是在使用GULP构建文件时将时间戳添加到JS文件中的Javascript对象中.基本上,在"file.js"中,我有一个对象,我希望object.timeStamp等于GULP构建的时间.

我目前正在使用gulp-header向文件顶部添加时间戳,但我被要求将时间戳添加到对象中的属性.

我的想法是从GULP注入值,但到目前为止我发现的所有注入插件都是将一个文件的内容注入目标文件.

任何帮助将不胜感激.

Elo*_*eda 13

你在使用任何一种模块吗?ES6模块,AMD,CommonJS,......?

如果是这样,你可以生成一个配置有咕嘟咕嘟模块,你可以注入任何你想要的变量.它看起来像这样:

config.tmpl.js

module.exports = <%= config %>
Run Code Online (Sandbox Code Playgroud)

配置gulp任务

var gulp = require('gulp');
var template = require('gulp-template');
var rename = require('gulp-rename');

gulp.task('config', function() {
  return gulp.src('path/to/config.tmpl.js')
    .pipe(template({config: JSON.stringify({
      timeStamp: new Date()
    })}))
    .pipe(rename('config.js'))
    .pipe(gulp.dest('path/to/config.js'));
});
Run Code Online (Sandbox Code Playgroud)

最后,在你的JS文件中

var config = require('path/to/config.js');

var object = {
  timeStamp: config.timeStamp
}
Run Code Online (Sandbox Code Playgroud)