我希望包含一个环境变量或我的模块可以访问条件流的文件。
// contains env build specific data
// or value 'develop' || 'production'
var env = require('config');
我知道我可以使用yargs
访问CL参数,这很好,但我似乎无法找到一种方法来获取我的browserify构建中的参数。
var bundleStream = {
cache: {},
packageCache: {},
fullPaths: false,
entries: [filename],
extensions: config.extensions,
debug: config.debug,
paths: ['./node_modules', './app/js/'],
require: ['jquery', 'lodash']
};
var bundle = function() {
bundleLogger.start(filename);
return bundleStream
.bundle()
.on('error', handleErrors)
.pipe(source(filename.replace('-app', '-bundle')))
.pipe(gulp.dest(process.cwd()))
.on('end', reportFinished)
.pipe(browserSync.reload({
stream: true
}));
};
答案 0 :(得分:6)
您可以动态创建config.json
文件,然后在模块中需要它:
var fs = require('fs');
var gutil = require('gulp-utils');
gulp.task('create-config', function(cb) {
fs.writeFile('config.json', JSON.stringify({
env: gutil.env.env,
tacos: 'delicious'
}), cb);
});
gulp.task('browserify', ['create-config'], function() {
//...
});
在你的模块中:
var config = require('./config.json');
if (config.env === 'production') {
//...
}
在命令行上:
gulp --env=production