1

事情就是这样。我的 LESS 文件具有以下结构:

/less/root.less
/less/includes1/*.less (a lot of less files)
/less/includes2/*.less (a lot of less files)

我正在使用 gulp 来编译我的 LESS 文件。资源:

gulp.task('less', function () {
    var combined = combiner.obj([
    gulp.src('./less/**/*.less'),
    less(),
    gulp.dest('./www/dist/screen.css')
]);

// any errors in the above streams will get caught by this listener, instead of being thrown:
combined.on('error', console.error.bind(console));

return combined;
});

问题出在指定路径上。我这样理解这条路径./less/**/*.less:递归遍历所有文件夹并编译所有以.less. 问题是编译器想要一个一个地编译每个文件并且不知道所有文件都包含在我的source.less. 它不查找根文件,也不知道包含哪些文件以及哪些是根文件。

如何告诉 LESS 解析器哪些文件是根文件以及要导入哪些文件。在 SASS 中,它通过文件名中的下划线指定,如下所示:_includedPart.scss。

4

1 回答 1

1

那么你可以使用https://github.com/robrich/gulp-ignore。请参阅:如何使用 glob 忽略以下划线开头的文件?

  var condition = '_*.less'; //exclude condition
  gulp.src('content/**/*.less')
    .pipe(gulpIgnore.exclude(condition))

在许多情况下,您将所有的 Less 代码放入一个 CSS 文件中。您的主文件包含@import指向所有其他必需的 Less 文件的指令。

于 2015-01-14T19:05:22.073 回答