【问题标题】:Gulp Inject not injecting all my files. Adding only one main.scss fileGulp Inject 没有注入我所有的文件。只添加一个 main.scss 文件
【发布时间】:2019-07-17 12:46:03
【问题描述】:

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

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

这里是代码sn-p。

  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/')));
};

【问题讨论】:

    标签: gulp gulp-inject


    【解决方案1】:

    发现将 gulp-inject 更新到 5.0.3 版可以解决此问题。 https://github.com/klei/gulp-inject/pull/258

    【讨论】:

    • 这是一个救命稻草 :) 请注意,它不适用于 Node10,但它适用于 Node8。非常感谢!
    • 是的,这很好地解决了它!但是,我正在运行 Node10 和 gulp-inject@5.0.3,它对我注入所有文件来说效果很好。
    • 我已经通过添加安装后脚本来修复它。是的,他们稍后更新了版本。感谢回复
    【解决方案2】:

    评估 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 文件中添加安装后脚本来修复它

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 2017-01-08
      相关资源
      最近更新 更多