【问题标题】:Sass import doesn't work after using gulp-ruby-sass使用 gulp-ruby-sass 后,Sass 导入不起作用
【发布时间】:2014-07-20 18:14:52
【问题描述】:

我正在使用 gulp-sass 为我的项目编译 SCSS。然后,为了简单起见,我决定改用 .sass。我切换到 gulp-ruby-sass,但是导入不起作用。这是我所拥有的:

@import bootstrap/mixins

我的目录结构:

|-- app
|   |-- app.js
|   |-- app.scss
|   |-- app_controller.js
|   |-- app_controller_test.js 
|   |-- bootstrap
|   |   |-- _mixins.scss
|   |   |-- _normalize.scss
|   |   |-- _variables.scss

在我的 gulpfile 中:

gulp.task('css', function(){
gulp.src(['app.scss','./app/**/*.sass'])
    .pipe(plugins.rubySass())
    .pipe(plugins.concat('app.css'))
    .pipe(gulp.dest('./build'));
});

然后我得到了这个错误:

error ./main/main.sass (Line 1: File to import not found or unreadable: bootstrap/mixins.
Load paths:
/private/var/folders/kn/29d686ds16s31t8mp0957dt40000gn/T/gulp-ruby-sass

请帮助我。谢谢!

【问题讨论】:

  • 你有什么错误?
  • @Aperçu 我刚刚编辑过。错误发布
  • 你只想要 mixins 吗?你试过@import 'bootstrap'; 吗?

标签: sass gulp


【解决方案1】:

应该是gulp.src(['app.scss','./app/**/*.scss']) 而不是gulp.src(['app.scss','./app/**/*.sass'])

【讨论】:

  • 不要以为扩展真的有问题
  • @sarbbottam 不,我所有的文件都是 *.sass 格式,除了 app.scss。
【解决方案2】:

你需要定义一个加载路径:

gulp.task('css', function() {
  return gulp.src(['app.scss','./app/**/*.sass'])
    .pipe(plugins.rubySass({
      loadPath: [
        process.cwd() + '/app'
      ]
    }))
    .pipe(plugins.concat('app.css'))
    .pipe(gulp.dest('./build'));
});

您可以通过逗号分隔多个加载路径。函数process.cwd() 用于获取您的gulpfile.js 的路径

【讨论】:

    猜你喜欢
    • 2014-02-28
    • 2015-01-09
    • 2015-03-20
    • 2014-09-12
    • 2014-11-21
    • 2015-02-07
    • 2014-11-06
    • 2017-11-17
    • 2015-01-17
    相关资源
    最近更新 更多