내 공급 업체 js 파일을 bower 종속성에서 가져 와서 자신의 js 파일과 함께 다른 작업을 파이프하고 연결합니다. 하나의 .js 파일. 그리고 Sass 파일에 대해서도 똑같이하십시오.파이프 공급 업체 js 파일을 Bower 및 자체 js 파일을 Gulp의 고유 스트림
어떻게하면됩니까? 나는이 시도했지만 작동하지 않습니다 :
gulp.task('scripts', function() {
return gulp.src([
mainBowerFiles(gulpFilter('*.js')),
'app/js/*.js'
])
.pipe(uglify())
.pipe(concat('app.js'))
.pipe(gulp.dest('./dist/js'));
});
그것은이 오류가 발생합니다 :
TypeError: Arguments to path.resolve must be strings
을하지만이있는 경우는 예를 들어, 작동 :
gulp.src([
'app/js/etc.js',
'app/js/main.js'
])
.. 다음과 같은 경우 다른 오류가 발생합니다 (uglify()가없는 오류는 발생하지 않음).
gulp.src(mainBowerFiles(gulpFilter('*.js')))
오류 :
events.js:72
throw er; // Unhandled 'error' event
어떻게 디버깅 하시겠습니까? 다른 스트림에서 공급 업체/자체 js 파일을 분리해야합니까?
이 같은 두 개의 스트림으로 지금 작업하고 event-stream
와 나중에 그들을 병합하고있어
갱신 : 그것은 잘 작동하지만, 내가 처리 할 수 아니에요
gulp.task('scripts', function() {
var jsFilter = gulpFilter('*.js');
var vendorFiles = gulp.src(mainBowerFiles()) // don't read
.pipe(jsFilter)
.pipe(concat('vendor.js'));
var appFiles = gulp.src('app/js/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(concat('app.js'));
return es.concat(vendorFiles, appFiles)
.pipe(uglify())
.pipe(concat('app.js'))
.pipe(gulp.dest('./dist/js'));
});
파일의 순서 분명히 나는 벤더 코드가 목적지 코드 인 앞에 오기를 원하지만, 그렇게되지는 않을 것이다. 나는 here에 관한 스레드를 만들었습니다.
나는'gulp-order'가'gulp-inject'에 도움이되어 다른 bower 의존성 이전에 부트 스트랩 전에 jquery를 주입하고 있음을 확인했습니다. 파이프 (order ([ '** jquery **', '** bootstrap **']))'gulp.src (mainBowerFiles() – bholben