0

我正在使用 gulp-inject 将一些 css 和 js 文件注入到dist/index.html位于dist/css/*.cssdist/js/*.js

gulp.task('prep-index', function () {
  var target = gulp.src('./dist/index.html');
  var sources = gulp.src(['./dist/js/*.js', './dist/css/*.css'], {read: false}, {relative: true});

  return target.pipe(inject(sources))
    .pipe(gulp.dest('./dist/'));
});

目前它正在从项目的基本 url 注入文件,但我希望它从目标文件注入文件链接,即dist/index.html

/dist/css/*.csscss/*.css

/dist/js/*.jsjs/*.js

但它的生成是这样的:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Directi Task</title>
    <!-- inject:css -->
    <link rel="stylesheet" href="/dist/css/basscss.min.css">
    <link rel="stylesheet" href="/dist/css/style.css">
    <!-- endinject -->
  </head>
  <body>
    <!-- inject:js -->
    <script src="/dist/js/jquery.min.js"></script>
    <script src="/dist/js/script.min.js"></script>
    <!-- endinject -->
  </body>
</html>

对此有什么建议吗?

4

1 回答 1

0

发现bug,{relative: true}应该在里面inject()但不在里面src()

return target.pipe(inject(sources, {relative: true}))解决了这个问题。

于 2016-11-16T18:32:00.407 回答