从昨天开始,我在重建后的gulp注入中遇到了问题,而gulp-inject没有注入我的所有文件。仅添加一个main.scss文件
在gulp造型任务中未做任何更改。相同的代码在我的舞台环境上工作,因为我没有重建口水。
这是代码段。
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/')));
};
答案 0 :(得分:2)
发现将gulp-inject更新到版本5.0.3可解决此问题。 https://github.com/klei/gulp-inject/pull/258
答案 1 :(得分:1)
评估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"