gulp compass抛出错误

时间:2017-08-20 20:55:54

标签: gulp gulp-compass

我正在尝试使用gulp-compass插件将我的scss转换并缩小为css。 但是我得到了以下错误:

  使用gulpfile C:\ Users \ dell \ Desktop \ sassy -   copy \ gulpfile.js [02:14:32]开始'罗盘' ... [02:14:32]完成   '罗盘' 13 ms之后[02:14:33]在C的行[" 55"]上的LoadError不能   加载这样的文件 - 波旁威士忌用--trace来查看完整的回溯

     

events.js:160         扔掉//未处理的错误'事件         ^错误:指南针失败

这就是我的scss文件的样子:

.scss文件:

@import 'bower_components/bourbon/app/assets/stylesheets/bourbon';
@import 'bower_components/normalize-css/normalize';
@import 'bower_components/susy/sass/susy';

@import url('https://fonts.googleapis.com/css?family=Playfair+Display|Raleway');

@import 'partials/variables';
@import 'partials/base';
@import 'partials/footer';
@import 'partials/header';
@import 'partials/layout';
@import 'partials/modules';

以下是gulpfile.js:

var gulp = require('gulp'), 
    compass = require('gulp-compass'),
    minifyCSS = require('gulp-minify-css');

gulp.task('compass', function() {
  gulp.src('assets/scss/styles.scss')
    .pipe(compass({
      sass: 'assets/sass',
      image: 'images',
      require:['bourbon', 'normalize','susy']
       }))
    .pipe(minifyCSS())
    .pipe(gulp.dest('css'));
});

我想它不会让像bourbonnormalizesusy这样的插件进行编译和转换。我猜我可能做了一些错误的配置。

尝试安装宝石但引发以下错误:

gem install susy

gem install bourbon

c:\Users\Dell\Desktop\sassy - Copy>gulp compass
[23:23:59] Using gulpfile c:\Users\Dell\Desktop\sassy - Copy\gulpfile.js
[23:23:59] Starting 'compass'...
[23:23:59] Finished 'compass' after 14 ms
    error assets/sass/styles.scss (Line 1: File to import not found or unreadable: bower_components/bourbon/app/assets/stylesheets/bourbon.
Load paths:
  Compass::SpriteImporter
  c:/Users/Dell/Desktop/sassy - Copy/assets/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/susy-2.2.12/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/bourbon-4.3.4/app/assets/stylesheets)

Compilation failed in 1 files.


events.js:160
      throw er; // Unhandled 'error' event
      ^
Error:     error assets/sass/styles.scss (Line 1: File to import not found or unreadable: bower_components/bourbon/app/assets/stylesheets/bourbon.
Load paths:
  Compass::SpriteImporter
  c:/Users/Dell/Desktop/sassy - Copy/assets/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/susy-2.2.12/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/bourbon-4.3.4/app/assets/stylesheets)
Compilation failed in 1 files.

1 个答案:

答案 0 :(得分:1)

原因很简单,所需的是Ruby gems,而不是bower或节点库。

来自doc

  

在运行命令之前需要给定的Ruby库。这用于在没有项目配置文件的情况下访问Compass插件。

如果您没有安装Ruby gem,则可以要求它们。

gem install  susy
gem install bourbon

似乎normalize-css没有Ruby gem。

新错误:

这个问题可以帮助你Why is Compass is giving me an import error when trying to import partials,你需要使用相对路径,否则它将搜索所需的Ruby gem路径。(我认为你安装了bower包)。

因此将@import 'bower_components/bourbon/app/assets/stylesheets/bourbon';更改为

@import './bower_component/..以及所有相似内容。