0

我正在尝试使用 gulp 和 gulp-sass 在我的项目中编译凉亭组件。我正在使用 Windows 8。

我遇到的问题是 gulp-sass 似乎不起作用。或者至少不给我编译的结果。奇怪的是,我什至没有收到错误消息或其他东西。

我只是在我的输出目录中没有得到任何结果。

gulpfile.js:

"use strict";

var gulp = require("gulp"),
    sass = require("gulp-sass"),
    bowerFiles = require("main-bower-files"),
    gulpFilter = require("gulp-filter"),
    concat = require("gulp-concat");


gulp.task("bower", function () {
    var cssFilter = gulpFilter(["**/*.css", "**/*.scss"]);

    return gulp.src(bowerFiles())
        .pipe(cssFilter)
        .pipe(sass())
        .pipe(concat("bower.css"))
        .pipe(gulp.dest("wwwroot"))
        .pipe(cssFilter.restore());
});

到目前为止,我已经尝试了几件事:

我尝试使用命令通过命令行编译

sass --trace bower_components\bootstrap-sass-pfficial\assets\stylesheets\_bootstrap.scss:wwwroot\bower.css

这有效,我得到了预期的结果。因此我认为 sass 安装工作正常。

我尝试的另一件事是,我从上面的代码中删除了“.pipe(sass())”行,只连接并复制文件。那行得通。

第三个测试是,不要使用 main-bower-files 来获取文件,而是使用带有 sass 的固定路径:

gulp.src("bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap.scss")

但这也没有用。又没有结果。

我正在使用以下依赖项:

"dependencies": {
    "gulp": "^3.6.0",
    "gulp-sass": "^1.3.3",
    "main-bower-files": "^2.6.2",
    "gulp-filter": "^2.0.2",
    "gulp-concat": "^2.5.2"
}
4

1 回答 1

0

最后我发现了问题。gulp-sass在版本 1.3.1 中引入了通过检查文件开头的“_”来过滤部分内容(https://github.com/dlmanning/gulp-sass/commit/3fface49e956297bbd707ce4e148f7e727675417)。因此,它不会编译 _bootstrap.scss

于 2015-03-15T16:49:01.440 回答