簡體   English   中英

使用gulp和main-bower-file排序輸出(gulp-order不起作用)

[英]Ordering the output using gulp and main-bower-files (gulp-order doesn't work)

Java工程師,這是Java語言世界的新手,如果我沒有提供足夠/正確的信息,敬請原諒!

我有一個gulp構建腳本,並使用bower管理JS前端應用程序的依賴項。 我正在努力以正確的順序連接(更強大的控制)供應商javascript庫,以便jQuery和angular首先出現。

如果不是第一個,那么在加載應用程序時,我會遇到角度未定義jQuery未定義的情況,因為它們相應的javascript代碼被埋在連接庫的更下方。

我嘗試使用gulp-order來排序生成的main-bower-files調用的輸出,但是似乎沒有效果。

我的任務如下:

gulp.task('lib', function () {
    var files =
      gulp.src(mainBowerFiles({
        paths: {
          bowerrc: './.bowerrc',
          bowerJson: './bower.json'
        }, env: 'lib'}))
      .pipe(order(["vendor/bower/jquery/**/*.js", "vendor/bower/angular/**/*.js", "vendor/bower/**/*.js" ]))

  return processJsFiles('lib', files);
});

processJsFiles進行丑化工作,看起來非常像:

        .pipe(uglify(name + '.js', {
            outSourceMap: true,
            screwIe8: true,
            compress: {
              hoist_funs: false,
              if_return: false
            }
        }))
        .pipe(gulp.dest(build_dir))
        .pipe(gzip())
        .pipe(gulp.dest(build_dir));

有什么線索或更好的方法應該這樣做嗎?

在對文檔進行了很多摸索之后,我發現您需要指定訂單插件需要從哪里開始的基礎,例如:

gulp.task('lib', function () {
    var files =
      gulp.src(mainBowerFiles({
        paths: {
          bowerrc: './.bowerrc',
          bowerJson: './bower.json'
        }, env: 'lib'}))
      .pipe(order([
          "vendor/bower/jquery/**/*.js", 
          "vendor/bower/angular/**/*.js", 
          "vendor/bower/**/*.js" 
          ], { base: './' })
      );

  return processJsFiles('lib', files);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM