Gus*_*ker 5 gulp gulp-less gulp-sourcemaps gulp-concat
我在我的gulpfile.js中对此进行了分析:
gulp.task('buildStyles', function() {
return gulp.src([
'./styles/less/main.less',
'./styles/less/widgets/widgets.less',
'./styles/less/pages/pages.less',
'./styles/less/themes/default.less',
'./styles/less/rtl/rtl.less'
])
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(less())
.pipe(concat('allmin.css'))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./dest'));
});
Run Code Online (Sandbox Code Playgroud)
但我总是收到如下消息:
$ gulp buildStyles
[18:46:31] Using gulpfile /Library/WebServer/Documents/qjt2015/trunk/gulpfile.js
[18:46:31] Starting 'buildStyles'...
gulp-sourcemap-write: source file not found:/Library/WebServer/Documents/qjt2015/trunk/styles/less/support-tickets.less
gulp-sourcemap-write: source file not found:/Library/WebServer/Documents/qjt2015/trunk/styles/less/comments.less
gulp-sourcemap-write: source file not found:/Library/WebServer/Documents/qjt2015/trunk/styles/less/article-comments.less
gulp-sourcemap-write: source file not found:/Library/WebServer/Documents/qjt2015/trunk/styles/less/threads.less
gulp-sourcemap-write: source file not found:/Library/WebServer/Documents/qjt2015/trunk/styles/less/chat.less
Run Code Online (Sandbox Code Playgroud)
我在所有较少的文件中使用@imports,而引用是那些在消息中看不到的引用.例如,我的widgets.less文件如下:
// ### Bootstrap's variables andmixins
@import "../../../bower_components/bootstrap/less/variables.less";
@import "../../../bower_components/bootstrap/less/mixins.less";
@import '../variables.less';
@import '../mixins.less';
@import './support-tickets.less';
@import './comments.less';
@import './article-comments.less';
@import './threads.less';
@import './chat.less';
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?提前,谢谢你的帮助!
您只需要指定pathsgulp-less 选项来告诉它应该从哪里开始搜索使用 @import 指令指定的文件。
例如,在 中widgets.less,它试图找到
support-tickets.lesscomments.lessarticle-comments.lessETC..
在Library/WebServer/Documents/qjt2015/trunk/styles/less/(请参阅您发布的错误消息)但我相信它应该在Library/WebServer/Documents/qjt2015/trunk/styles/less/widgets/(相对于您的widgets.less文件)
只需像这样设置路径:
gulp.task('buildStyles', function() {
return gulp.src([
// ...
])
// ... other gulp tasks here
.pipe(less({
paths: [
'/Library/WebServer/Documents/qjt2015/trunk/styles/less/',
'/Library/WebServer/Documents/qjt2015/trunk/styles/less/widgets/',
'/Library/WebServer/Documents/qjt2015/trunk/styles/less/pages/',
// add additional paths here for less to find imports in
// less will tell you which import files it can't find, so simply tell it where to find them.
]
))
.pipe(concat('allmin.css'))
// ...
});
Run Code Online (Sandbox Code Playgroud)
````
| 归档时间: |
|
| 查看次数: |
2739 次 |
| 最近记录: |