簡體   English   中英

gulp-useref“ additionalStreams”未合並

[英]gulp-useref “additionalStreams” not merging

所以我有一個簡單的用例,它似乎與https://github.com/jonkemp/gulp-useref的自述文件中描述的用例非常相似。

我正在嘗試在構建過程中使用所有Angular模板生成template.js文件。 我正在嘗試執行此操作,而我的本地項目中沒有templates.js文件。 因此,其想法是將模板流的輸出合並到useref流中,以使生成的scripts.js文件包含索引文件中指示的所有文件以及生成的templates輸出。

這是我在gulp任務中所擁有的:

gulp.task('usemin:dist', ['clean:dist'], function() {
  var templatesStream = gulp.src([
    './app/**/*.html',
    '!./app/index.html',
    '!./app/404.html'
  ]).pipe(templateCache({
    module: 'myCoolApp'
  }));

  var assets = $useref.assets({
    additionalStreams: [templatesStream]
  });

  return gulp.src('./app/index.html')
      .pipe(assets)
      .pipe(assets.restore())
      .pipe($useref())
      .pipe(gulp.dest('./dist/'));
});

現在,這應該允許我合並templatesStream的輸出並將其全部轉換為一個scripts.js文件,我想...

我還嘗試將許多形式的<script src="scripts/templates.js"></script>放在我的索引文件中,以嘗試並提供幫助。 似乎沒有任何工作。

還有其他人在做同樣的事情嗎? 似乎是一個普通的用例。

通過仔細查看測試用例,我能夠使它起作用。 現在,我的index.html文件上有一個templates.js腳本標簽,在本地環境中將顯示404。

我的任務看起來像這樣:

gulp.task('useref:dist', ['clean:dist'], function() {
  var templateStream = gulp.src([
    './app/**/*.html',
    '!./app/index.html',
    '!./app/404.html'
  ]).pipe(templateCache({
    module: 'digitalWorkspaceApp'
  }));

  var assets = $useref.assets({
    additionalStreams: [templateStream]
  });
  var jsFilter = $filter('**/*.js', {restore: true});

  return gulp.src('./app/index.html')
    .pipe(assets)
    .pipe($useref())
    .pipe(gulp.dest('./dist/'));
});

立即我看不出有什么區別,但是可能全部取決於在index.html中添加此不存在的文件。

暫無
暫無

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

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