私はlessとGruntを使用しており、gulpに移行しています。
私の少ない作品。私が実行すると:
lessc public/less/myapp.less
エラーなしで作業出力が得られます。インクルードを含む私のすべてのレスは、パブリック/レスにあります。これが私のgulpfileです:
var gulp = require('gulp');
var prefixer = require('gulp-autoprefixer');
var less = require('gulp-less');
gulp.task('compileLess', function () {
gulp
.src('./public/less/*')
.pipe(less({
paths: ['./public/less'], // Search paths for imports
filename: 'myapp.less'
}))
.pipe(gulp.dest('./public/css'));
});
// The default task (called when you run `gulp`)
gulp.task('default', function() {
gulp.run('compileLess');
// Watch files and run tasks if they change
gulp.watch('./public/less/*.less', function(event) {
gulp.run('less');
});
});
gulp を実行すると、次のようになります。
~/Documents/myapp: gulp
[gulp] Using file /Users/me/Documents/myapp/gulpfile.js
[gulp] Working directory changed to /Users/me/Documents/myapp
[gulp] Running 'default'...
[gulp] Running 'compileLess'...
[gulp] Finished 'compileLess' in 11 ms
[gulp] Finished 'default' in 41 ms
stream.js:94
throw er; // Unhandled stream error in pipe.
^
Error: variable @brightblue is undefined
@brightblue は、myapp.less の開始時にインポートされたファイルで定義されています。
@import "./colors.less";
body {
background-color: @brightblue;
}
- gulp がインクルードを取得しないのはなぜですか? less に「paths」オプションを指定すると機能するはずですが、修正されていません。
- これをデバッグする良い方法は何ですか? たとえば、行番号がありません。
- gulp を機能させる方法はありますか?