Angularjs 如何基于gulp上的环境复制文件
我有一个文件夹,其中包含用于不同构建环境(如生产、阶段和测试)的文件。 例如: 我想要的是基于我获得的环境复制配置文件,以便使用以下代码从命令I获取环境名称:Angularjs 如何基于gulp上的环境复制文件,angularjs,node.js,gulp,Angularjs,Node.js,Gulp,我有一个文件夹,其中包含用于不同构建环境(如生产、阶段和测试)的文件。 例如: 我想要的是基于我获得的环境复制配置文件,以便使用以下代码从命令I获取环境名称: var nopt = require('nopt') , knownOpts = { "env" : [String, null] } , shortHands = { "test" : ["--env", "test"]
var nopt = require('nopt')
, knownOpts = {
"env" : [String, null]
}
, shortHands = {
"test" : ["--env", "test"]
, "dev" : ["--dev", "dev"]
, "stage" : ["--env", "stage"]
, "prod" : ["--env", "prod"]
};
var flags = nopt(knownOpts, shortHands, process.argv, 2);
当我按下命令时
gulp build --env dev
我正在获取环境名称,现在我想要的是基于环境将配置文件复制到dist文件夹(build)。我有这个复制文件的任务,但它复制所有文件,因为我不知道如何过滤掉它
gulp.task('copyConfig', function(){
gulp.src(['src/*.js'])
.pipe(gulp.dest('dist/'))
})
如果有人有什么建议的话,我是个新手。请提供帮助。新配置目录,您可以在其中移动3个现有配置(产品、阶段、测试)。。。mkdir配置 然后,对gulp进行2个相关更改,以合并build.ENV和一个copy.config任务,该任务了解您的3个diff-config文件
var settings = {
/*
* Environment development | production
* match './configs' files of same name
*/
environment : process.env.NODE_ENV || 'development',
/*
* Where is our config folder?
*/
configFolder : 'configs',
/*
* Where is our code?
*/
srcFolder : 'app/scripts',
/*
* Where are we building to?
*/
buildFolder : 'dist',
};
/**
* Config Task
*
* Get the configuration file (dev or prod), rename it
* and move it to be built.
*/
gulp.task('config', function() {
return gulp.src(settings.configFolder + '/' + settings.environment + '.js')
.pipe(rename('config.js'))
.pipe(gulp.dest(settings.srcFolder));
});
看看这个非常有用的问题:
var settings = {
/*
* Environment development | production
* match './configs' files of same name
*/
environment : process.env.NODE_ENV || 'development',
/*
* Where is our config folder?
*/
configFolder : 'configs',
/*
* Where is our code?
*/
srcFolder : 'app/scripts',
/*
* Where are we building to?
*/
buildFolder : 'dist',
};
/**
* Config Task
*
* Get the configuration file (dev or prod), rename it
* and move it to be built.
*/
gulp.task('config', function() {
return gulp.src(settings.configFolder + '/' + settings.environment + '.js')
.pipe(rename('config.js'))
.pipe(gulp.dest(settings.srcFolder));
});