私はlessの圧縮とcssの縮小に関するgulpタスクに取り組んでいます.3つの異なる環境(ローカル、開発、製品)で3つのfiles.lessを使用してハードコードされた3つの異なる変数が必要なことが唯一の面倒な点です。それを削除した後、毎回適切な環境の適切なバージョンを交換します(元のファイル)。main.less ファイルには、original.less ファイルを含めます。
(英語力と説明力が半端ないです)
gulp.task('before-less', function(cb) {
if(gutil.env.dev === true) {
gutil.log(' preprod environment \n'); gulp.src('path/to/dev.less').pipe(rename('original.less')).pipe(gulp.dest('path/to/css'));
} else if (gutil.env.prod === true) {
gutil.log(' prod environment \n');
gulp.src('path/to/prod.less').pipe(rename('original.less')).pipe(gulp.dest('path/to/css'));
} else {
gutil.log(' local environment \n');
gulp.src('path/to/local.less').pipe(rename('original.less')).pipe(gulp.dest('path/to/css'));
}
});
gulp.task('less', ['before-less'], function() {
gutil.log(' LESSing ');
gulp.src(rute + 'css/*.less')
.pipe(less({
paths: [path.join(__dirname, 'less', 'includes')]
})).on('error', gutil.log)
.pipe(minifycss()) // Minify
.pipe(gulp.dest(rute + 'css'))
// .pipe(notify({message : "Modifications LESS" }))
.pipe(connect.reload());
});
less のタスクは正しく実行されると思いますが、問題は、gulp less が original.less のファイルをインクルードするとき、最初に var を読み取る必要があるか、最初にそれをインクルードしてから後で var を読み取るかです。
この「問題」についてより良い組織を持っている人のために、私の一気飲みのタスクを含めます