google-closure-compiler
내 angularjs 파일을 축소하기 위해 사용 하고 있습니다.
app/js
폴더에 3 개의 js 파일이 있습니다. 그들은입니다 controller.js, app.js, services.js
.
내 gulpfile 코드는 다음과 같습니다.
var closureCompiler = require('google-closure-compiler').gulp();
gulp.task('js-closure', function () {
return gulp.src('app/js/*.js', {base: './'})
.pipe(closureCompiler({
compilation_level: 'SIMPLE_OPTIMIZATIONS',
warning_level: 'QUIET',
language_in: 'ECMASCRIPT6_STRICT',
language_out: 'ECMASCRIPT5_STRICT',
output_wrapper: '(function(){\n%output%\n}).call(this)',
js_output_file: 'output.min.js'
}))
.pipe(gulp.dest('./dist/js'));
});
코드가하는 일은 3 개의 js 파일을 단일 파일로 컴파일하는 것입니다. output.min.js
내가 원하는 것은 3 개의 js 파일을 3 개의 별도 js 파일로 컴파일하는 것입니다. controller.min.js, app.min.js, services.min.js
내가 볼 수있는 한 Google Closure Compiler로 파일을 결합하는 것을 피할 수있는 방법은 없습니다. js_output_file
옵션을 생략하더라도 출력 파일 이름이 기본값으로 설정됩니다 compiled.js
. 즉, 각 파일에 대해 Closure Compiler를 호출해야합니다.
gulp-flatmap
플러그인은 쉽게 그렇게 할 수 있습니다. 당신의 가치를 결정해야 할 단지 js_output_file
(기본적으로 교체 각 입력 파일을 .js
함께 .min.js
각 파일 이름에서) :
var flatmap = require('gulp-flatmap');
var path = require('path');
gulp.task('js-closure', function () {
return gulp.src('app/js/*.js', {base: './'})
.pipe(flatmap(function(stream, file) {
return stream.pipe(closureCompiler({
compilation_level: 'SIMPLE_OPTIMIZATIONS',
warning_level: 'QUIET',
language_in: 'ECMASCRIPT6_STRICT',
language_out: 'ECMASCRIPT5_STRICT',
output_wrapper: '(function(){\n%output%\n}).call(this)',
js_output_file: path.basename(file.path).replace(/js$/, 'min.js')
}))
}))
.pipe(gulp.dest('./dist/js'));
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다