如何编译bootstrap得到和预编译一样的版本?

How to compile bootstrap to get the same version as precompiled?

我买了一个模板。如果我尝试用 bootstrap 的预编译版本编译它,一切都很好。

@import "bootstrap.css"; //Precompiled Bootstrap
@import "nifty/nifty.less"; //My theme

但是,如果我编译 bootstrap less 变体,有些颜色与预期不同:

@import "bootstrap/bootstrap.less"; //Same Version as above, but not precompiled
@import "nifty/nifty.less"; //My theme

有什么区别。我应该如何编译 bootstrap,以获得与 dist 文件夹中的预编译变体在颜色方面完全相同的结果?

我需要这个,因为我需要将我的模板与 Kendo UI 一起编译,而我的模板并未提供 Kendo UI Bootstrap Mapper 所需的所有主题变量.


这是我的 gulp 任务:

gulp.task('theme',
    function () {
        return gulp.src('./Content/less/theme.less')
          .pipe(plumber())
          .pipe(less({
              paths: [path.join(__dirname, 'less', 'includes')]
          }))
          .pipe(gulp.dest('./Content/theme'));
    });

这里有几个可能的问题:

  1. 您的项目中可能没有安装 Bootstrap CSS 和 Bootstrap 更少的等效版本。确保 bootstrap.css 文件顶部列出的版本与 bootstrap.less 文件顶部列出的版本相同。这是最可能的原因 - 它们很容易失调。
  2. 确保您拥有最新的 gulp-less 版本。该插件过去曾报告过一些导入处理问题,这些问题已得到修复。
  3. Gulp-less 可能不尊重您的导入 'order' - 过去曾报告过此问题。如果这是问题所在,那么您将遇到一段艰难的时期。但是,如果是这种情况,您可以使用一个 hackish 解决方案:直接使用 [=34= 获取并渲染 bootstrap 库文件,将它们输出到 [=23= 中的 css 文件中](例如styles/lib/bootstrap),然后导入输出的css文件。仅将此作为绝对的最后手段 - 这是一个非常非常重要的 hack。
  4. 模板本身可能包含与您安装的版本不同的 Bootstrap。检查模板以查看它有哪些依赖项。