gulp-inject的使用方式

发布于 2022-09-01 21:17:38 字数 1963 浏览 22 评论 0

关于gulp-inject的使用方式,今天使用gulp构建项目,使用到了gulp-inject自动插入静态文件到html,但是纠结啦。

正常的使用方式

<!DOCTYPE html>
<html>
<head>
  <title>My index</title>
  <!-- inject:css -->
  <!-- endinject -->
</head>
<body>

  <!-- inject:js -->
  <!-- endinject -->
</body>
</html>
var gulp = require('gulp');
var inject = require('gulp-inject');

gulp.task('index', function () {
  var target = gulp.src('./src/index.html');
  // It's not necessary to read the files (will speed up things), we're only after their paths:
  var sources = gulp.src(['./src/**/*.js', './src/**/*.css'], {read: false});

  return target.pipe(inject(sources))
    .pipe(gulp.dest('./src'));
});
<!DOCTYPE html>
<html>
<head>
  <title>My index</title>
  <!-- inject:css -->
  <link rel="stylesheet" href="/src/style1.css">
  <link rel="stylesheet" href="/src/style2.css">
  <!-- endinject -->
</head>
<body>

  <!-- inject:js -->
  <script src="/src/lib1.js"></script>
  <script src="/src/lib2.js"></script>
  <!-- endinject -->
</body>
</html>

但是有个问题,这样的话,他会把全部的js跟css文件添加上去,我现在想要的是,比如index.html页面,只单独引入index.js和index.css,其他的就是公用的引入在一起比如,comm.js comm.css等,我希望是这样:

<!DOCTYPE html>
<html>
<head>
  <title>My index</title>
  <!-- inject:css -->
  <link rel="stylesheet" href="/src/comm.css">
  <link rel="stylesheet" href="/src/index.css">
  <!-- endinject -->
</head>
<body>

  <!-- inject:js -->
  <script src="/src/comm.js"></script>
  <script src="/src/index.js"></script>
  <!-- endinject -->
</body>
</html>

我该怎么配置,或者该怎么写注解??真心求教。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁吢 2022-09-08 21:17:38

gulp-inject 也可以自定义标签,
你可以使用 starttag 配置

var sourcesIndex = gulp.src(['./src/**/index.js', './src/**/index.css'], {read: false});
var sourcesCommon = gulp.src(['./src/**/common.js', './src/**/common.css'], {read: false});

gulp.src('./src/index.html')
    .pipe(inject(sourcesIndex, {starttag: '<!-- inject:index:{{ext}} -->'}))
    .pipe(inject(sourcesCommon, {starttag: '<!-- inject:common:{{ext}} -->'}))
    .pipe(gulp.dest('./dist'));
<!DOCTYPE html>
<html>
<head>
  <title>My index</title>
  <!-- inject:common:css -->
  <!-- endinject -->

  <!-- inject:index:css -->
  <!-- endinject -->
</head>
<body>
  <!-- inject:common:js -->
  <!-- endinject -->

  <!-- inject:index:js -->
  <!-- endinject -->
</body>
</html>

请参考这个 https://github.com/klei/gulp-inject#method-1-use-gulp-injects-starttag-option

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文