0

我正在尝试使用 gulp-less 插件将 bootstrap 2.1.0 less 文件(是的非常旧的版本)编译为 CSS。

var gulp = require('gulp'),
    less = require('gulp-less');

// Compile Our Less
gulp.task('less', function() {
    return gulp.src('bower_components/bootstrap/less/bootstrap.less')
        .pipe(less().on('error', function(err){
            errorLog(err);
        }))
        .pipe(gulp.dest('compiled-bootstrap-css'));
});

gulp.task('default', ['less']);

function errorLog(err){
    console.log(err);
}

无论我使用哪个版本,我都会看到解析错误:

[16:08:01] Starting 'less'...
{ [Error: Missing closing ')' in file d:\Users\trouti\IdeaProject
bower_components\bootstrap\less\mixins.less line no. 552]
  type: 'Parse',
  filename: 'd:\\Users\\trouti\\IdeaProjects\\PublicPortal\\bower
otstrap\\less\\mixins.less',
  index: 17957,
  line: 552,
  callLine: NaN,
  callExtract: undefined,
  column: 8,
  extract:
   [ '    .spanX (@index) when (@index > 0) {',
     '      (~".span@{index}") { .span(@index); }',
     '      .spanX(@index - 1);' ],
  message: 'Missing closing \')\' in file d:\\Users\\trouti\\Idea
cPortal\\bower_components\\bootstrap\\less\\mixins.less line no.
  stack: undefined,
  lineNumber: 552,
  fileName: 'd:\\Users\\trouti\\IdeaProjects\\PublicPortal\\bower
otstrap\\less\\mixins.less',
  name: 'Error',
  showStack: false,
  showProperties: true,
  plugin: 'gulp-less',
  __safety: { toString: [Function] } }

我相信为了成功编译该工具需要使用Less 1.3.3版本:

http://twitter-bootstrap.1086183.n5.nabble.com/Error-compiling-less-files-v-2-0-4-td788.html

不幸的是,所有可用的 gulp-less 版本都是在更高版本上构建的。

如何将 less 1.3.3 集成到我的 gulp 构建中?

编辑:这不是重复的:

LESS:使用 Bootstrap 时出现无法识别的输入错误

因为那里的答案是编辑 bootstrap.less 文件。我不能/不想这样做,因为我在构建时使用 bower 动态拉入引导文件。我知道如果我使用较少的 1.3.3 可以修复它,但是当所有版本的 gulp-less 插件都使用更高版本时,我如何从 gulp 构建中调用它。

4

0 回答 0