Gulp注入未注入所有文件。仅添加一个main.scss文件。

3

昨天在重建后遇到了gulp注入的问题,gulp-inject没有注入我所有的文件。只添加了一个main.scss文件。

在gulp样式任务中没有改变任何东西。相同的代码在我的舞台环境中工作,因为我没有重建gulp。

这里是代码片段。


Original Answer: "最初的回答"
  var injectFiles = gulp.src([
    path.join(conf.paths.src, '/sass/**/_*.scss'),
    '!' + path.join(conf.paths.src, '/sass/theme/conf/**/*.scss'),
    '!' + path.join(conf.paths.src, '/sass/404.scss'),
    '!' + path.join(conf.paths.src, '/sass/auth.scss')
  ], {read: false});

  var injectOptions = {
    transform: function (filePath) {
      filePath = filePath.replace(conf.paths.src + '/sass/', '');
      return '@import "' + filePath + '";';
    },
    starttag: '// injector',
    endtag: '// endinjector',
    addRootSlash: false
  };

  return gulp.src([
    path.join(conf.paths.src, '/sass/main.scss')
  ])
    .pipe($.inject(injectFiles, injectOptions))
    .pipe(wiredep(_.extend({}, conf.wiredep)))
    .pipe($.sourcemaps.init())
    .pipe($.sass(sassOptions)).on('error', conf.errorHandler('Sass'))
    .pipe($.autoprefixer()).on('error', conf.errorHandler('Autoprefixer'))
    .pipe($.sourcemaps.write())
    .pipe(gulp.dest(path.join(conf.paths.tmp, '/serve/app/')));
};
2个回答

6

这真是救命稻草 :) 请注意,它无法与Node10一起使用,但在Node8上运行得很好。非常感谢! - inadcod
是的,这个修复得很好!不过,我正在使用Node10和gulp-inject@5.0.3,它对我来说完全正常,按照预期注入了所有文件。 - Jonas Johansson
我通过添加后安装脚本来修复了它。是的,他们后来更新了版本。谢谢你的回复。 - Ibtesam Latif

4
在评估 package-lock.json 文件后,gulp-inject 需要以下依赖项。
"gulp-inject": {
  "requires": {
    "arrify": "^1.0.1",
    "escape-string-regexp": "^1.0.5",
    "event-stream": "^3.1.0",
    "group-array": "^0.3.0",
    "gulp-util": "^3.0.0",
    "stream-to-array": "^2.3.0",
    "through2": "^2.0.1"
  }
},

我一步步倒退所有必需的依赖版本,最终成功解决了问题。 这是因为我的 package-lock.json 文件中有 group-array@0.3.4。

"group-array": {
  "version": "0.3.4",
  "requires": {
    "arr-flatten": "^1.0.1",
    "for-own": "^0.1.4",
    "get-value": "^2.0.6",
    "kind-of": "^3.1.0",
    "split-string": "^1.0.1",
    "union-value": "^1.0.1"
  }

我在package.json文件中添加了一个post install脚本来解决这个问题。

"postinstall": "npm i group-array@0.3.3 --save"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接