2016-11-12 11 views
0

私はbrowserifyとwatchifyを使ってGulpタスクを持っています。ご覧のとおり、4つのファイルがあります。 modules.jsoverlay-model.jsのクラスを使用します。 しかし、ブラウジングは私が通過している注文を維持しません。その代わりにbrowserifyはファイルをアルファベット順に並べ、最初にmodules.jsを使います。Gulpは注文/ファイルをソート

解決策を探してみましたgulp sort doens'tはうまくいくようですが、私はbrowserify-ishソリューションを見つけることができません。

これについて誰でも知っていますか?

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']); 

答えて

1

私は通常、あなたが欲しいために、それは他のモジュールをロードするためにrequire(...)を使用しますただ一つのエントリポイント(あなたのケースでmodules.js)を持っていると思います。

// modules.js 
require('./overlay-model'); 
require('./slider'); 
require('./modules'); 

次に使用browserifyのような:

browserify('./assets/js/modules.js', ...); 
+0

おかげで、働きました!これについて考えなかった。私はインポートでそれを試しましたが、それは動作しませんでした。インポート/エクスポートに関するいくつかのエラーは、モジュールなどでのみ機能します。 – ronnyrr

関連する問題