gulp-sass 解决 load_path 支持?

Posted

技术标签:

【中文标题】gulp-sass 解决 load_path 支持?【英文标题】:gulp-sass work around for load_path support? 【发布时间】:2015-11-22 18:22:05 【问题描述】:

问题: 我正在使用 gulp-sass 并想定义一个 load_path 以便我不必有很长的 @import 规则 voor bower 依赖项,例如

@import "normalize"

而不是

@import "../../../../../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/normalize"

当使用使用 LibSass 引擎处理 sass 文件的 gulp-sass 时,实现此目的的最佳方法是什么?

【问题讨论】:

可能重复:***.com/questions/24870327/… 这不是一个重复的问题,因为在提供的示例中,开发人员使用 gulp-ruby-sass,这与 gulp-sass 不同,因为此变体不使用 ruby​​,而是使用 libsass — 重新- 用 C++ 实现 Sass。 Sass 编译器的编写语言无关紧要,解决方案有效吗? 顺便说一句。感谢您的帮助。但是实现确实重要的原因是功能支持不同。据我所知,不支持 load_path(作为 gulp 选项)。我需要想办法绕过这个当前的限制。 【参考方案1】:

在自己为此苦苦挣扎之后,我在 gulp-sass 中找到了一个选项:

sass(includePaths: ['./bower_components/bootstrap-sass/assets/stylesheets'])

例子:

var gulp = require('gulp'),
    sass = require('gulp-sass')
    notify = require("gulp-notify");

var config = 
    sassPath: './resources/sass',   // store the sass files I create
    bowerDir: './bower_components'


gulp.task('css', function() 
  return gulp.src(config.sassPath + '/style.scss')
    .pipe(sass(
        outputStyle: 'compressed',
        includePaths: [
            './resources/sass',
            config.bowerDir + '/bootstrap-sass/assets/stylesheets',
            config.bowerDir + '/font-awesome/scss']
        )
       .on("error", notify.onError(function (error) 
            return "Error: " + error.message;
        )))
    .pipe(gulp.dest('./public/css'));
);

【讨论】:

以上是关于gulp-sass 解决 load_path 支持?的主要内容,如果未能解决你的问题,请参考以下文章

ruby 需要问题(与 $LOAD_PATH 有关)

为啥 Ruby 1.9.2 删除“。”来自 LOAD_PATH,还有啥替代方案?

为啥 Ruby 1.9.2 删除“。”来自 LOAD_PATH,还有啥替代方法?

为啥 gulp-sass 不创建输出

Gulp-sass 5.0 如何使用带有 import() 而不是 require() 的编译器?

gulp-sass @import CSS 文件