不同文件中的变量较少



我正在做一项关于压缩更少、更小css的任务,唯一麻烦的是,我需要在3个不同的环境(本地、开发、生产)中用3个文件硬编码3个不同变量。less。每次删除它(原始文件)后,我都会交换正确版本的正确环境。在main.less文件中,我包含了original.less文件。

(Mi英语和解释能力不强)

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的任务我认为运行正确,但问题是,当gullowless包含我的original.less文件时,他们应该先读取var,还是先包含它,然后再读取var?

我把我的任务包括在内,让有人对这个"问题"有更好的组织

我认为你应该针对不同的情况考虑问题或完成不同的任务。

少的任务我认为是正确的,但问题是什么时候无咽包括我的原始文件。无咽应该阅读首先是var,还是他们先包含它,然后再读取var?

Less使用惰性加载,最后一次声明为变量获胜,另请参阅http://lesscss.org/features/#variables-具有延迟加载功能。前面的意思是,如果在include之后再次声明同一个变量,它将覆盖代码中的所有变量。

我用runSequence gump包找到了解决方案。

因为我发现Gulp可以同步工作,而mi second task less在mi first task before less之后开始,它们失败了,给了我一个错误。

使用runSequence,我可以做一些类似的事情:

  var runSequence = require('run-sequence');
  gulp.task('default', function(callback) {
    runSequence('before-less', ['less'], callback);
  });

同步地找到更多关于gump的信息——这可能是一个非常好的选择,也是一个更"优雅的节点"(使用回调)。

相关内容

  • 没有找到相关文章

最新更新