프로덕션, 스테이지 및 테스트와 같은 다른 빌드 환경에 대한 파일이있는 폴더가 있습니다. 예:
src/config.prod.js
src/config.stage.js
src/config.test.js
내가 원하는 것은 다음 코드를 사용하여 명령 i에서 환경 이름을 가져 오기 위해 얻은 환경을 기반으로 구성 파일을 복사하는 것입니다.
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 폴더 (빌드)에 복사합니다. 파일 복사에 대한이 작업이 있지만 필터링하는 방법을 모르기 때문에 모든 파일을 복사합니다.
gulp.task('copyConfig', function(){
gulp.src(['src/*.js'])
.pipe(gulp.dest('dist/'))
})
누군가 제안이 있다면 나는 꿀꺽 꿀꺽 꿀꺽 마시기 처음입니다. 도와주세요.
3, 기존 구성 (prod, stage, test)을 mv하는 새 구성 디렉토리 ... mkdir 구성
그런 다음 build.ENV 및 3 개의 diff 구성 파일에 대해 알고있는 copy.config 작업을 통합하기 위해 gulp에 대한 2 가지 관련 변경 사항이 있습니다.
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));
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다