[英]Gulp browserify order/sort files
我已經使用browserify和watchify完成了Gulp任務。 如您所見,我有四個文件。 modules.js
使用overlay-model.js
的類。 但是browserify不能保持我傳遞的順序。 而不是那種browserify將文件按字母順序放置,因此它首先使用modules.js
。
我試圖尋找一個解決方案一飲而盡排序好好嘗試似乎工作,我無法找到一個browserify十歲上下的解決方案。
有人知道嗎?
var gulp = require('gulp');
var gutil = require('gulp-util');
var c = gutil.colors;
var sort = require('gulp-sort');
var sourcemaps = require('gulp-sourcemaps');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var browserify = require('browserify');
var watchify = require('watchify');
var babel = require('babelify');
function compile(watch) {
var bundler = watchify(browserify([
'./assets/js/overlay-model.js',
'./assets/js/slider.js',
'./assets/js/words.js',
'./assets/js/modules.js'
], {
debug: true
})
.transform(babel.configure({
presets: ['es2015']
})));
function rebundle() {
bundler.bundle()
.on('error', function(err) { console.error(err); this.emit('end'); })
.pipe(source('build.js'))
.pipe(buffer())
.pipe(sourcemaps.init({ loadMaps: true }))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./public'));
}
if (watch) {
gutil.log(`${c.cyan('scripts')}: watching`);
bundler.on('update', function() {
gutil.log(`${c.cyan('scripts')}: processing`);
rebundle();
});
}
rebundle();
}
function watch() {
return compile(true);
};
gulp.task('build', function() { return compile(); });
gulp.task('watch', function() { return watch(); });
gulp.task('scripts', ['watch']);
我認為通常情況下,您只有一個入口點(在您的情況下為modules.js
)將使用require(...)
來按require(...)
加載其他模塊。
// modules.js
require('./overlay-model');
require('./slider');
require('./modules');
然后像這樣使用browserify
:
browserify('./assets/js/modules.js', ...);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.