我想调整一个 gulpfile.js 并将我的bower_components/
文件夹更改为app/bower_components/
.
我更新了目录.bowerrc
,所以现在每次我做一个bower install
它都会使用正确的:
{
"directory": "app/bower_components"
}
现在,如何gulp-wiredep
在我的主 Sass 文件中写入正确的 Sass 路径位置?
例如,在我的文件gulp-wiredep
中添加以下行,紧随其后:main.scss
// bower:scss
@import "bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss";
应该是现在@import "app/bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss";
我怎样才能改变这条路?我相信这是wiredep
任务的一些配置:
gulp.task('wiredep', function () {
var wiredep = require('wiredep').stream;
gulp.src('app/styles/*.scss')
.pipe(wiredep({
ignorePath: /^(\.\.\/)+/
}))
.pipe(gulp.dest('app/styles'));
gulp.src('app/*.html')
.pipe(wiredep({
exclude: ['bootstrap-sass-official'],
ignorePath: /^(\.\.\/)*\.\./
}))
.pipe(gulp.dest('app'));
});
但我不知道如何配置它来做我需要的,我找不到任何关于它的文档。
我知道,如果我将 sass 文件中的路径手动更改为 ,则该路径"app/bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss"
将gulp serve
起作用,但是一旦我安装了 bower 组件,它将app/
再次将该路径更改为没有开头的路径,这将破坏任务。
如何解决?
完毕:
// inject bower components
gulp.task('wiredep', function () {
var wiredep = require('wiredep').stream;
gulp.src('app/styles/*.scss')
.pipe(wiredep({
fileTypes: {
scss: {
replace: {
sass: '@import "app/{{filePath}}";',
scss: '@import "app/{{filePath}}";'
}
}
},
ignorePath: /^(\.\.\/)+/
}))
.pipe(gulp.dest('app/styles'));
gulp.src('app/*.html')
.pipe(wiredep({
exclude: ['bootstrap-sass-official'],
ignorePath: /^(\.\.\/)*\.\./
}))
.pipe(gulp.dest('app'));
});