如何解决这个Sass编译错误?

时间:2017-10-07 22:11:42

标签: css sass gulp node-modules gulp-sass

所以,当我开始工作时,我会看着,所以我的更改会自动编译。事实是,我经常收到错误,代码没有编译。我通常做的快速解决方法是,添加一个空格然后将其删除以再次保存文件。在那之后,它会按照它应该编译。

这是我的gulpfile.js。

var gulp = require('gulp');
var sass = require('gulp-sass');
var cleanCSS = require('gulp-clean-css');
var rename = require('gulp-rename');
var autoprefixer = require('gulp-autoprefixer'); 
var plumber = require('gulp-plumber'); 
var concat = require('gulp-concat');
var replace = require('gulp-replace');

gulp.task('default', ['compileSass', 'watch']);

gulp.task('compileSass', function () {
    return gulp.src('./styles/main.scss')
        .pipe(plumber())
        .pipe(sass().on('error', sass.logError))
        .pipe(autoprefixer({ browsers: ['> 0%']}))
        .pipe(gulp.dest('./dist/'))
        .pipe(cleanCSS())
        .pipe(rename('main.min.css'))
        .pipe(gulp.dest('./dist/'));
});

gulp.task('watch', function () {
    gulp.watch('./styles/**/*.scss', ['compileSass']);
});

这是我得到的错误。

C:\Users\stipe\Desktop\slicing-zavrsni-rad>gulp watch
[23:58:12] Using gulpfile ~\Desktop\slicing-zavrsni-rad\gulpfile.js
[23:58:12] Starting 'watch'...
[23:58:12] Finished 'watch' after 25 ms
[23:58:24] Finished 'compileSass' after 108 ms
[23:58:26] Starting 'compileSass'...
Error in plugin 'sass'
Message:
    styles\pages\module.scss
Error: File to import not found or unreadable: container.scss.
       Parent style sheet: C:/Users/stipe/Desktop/slicing-zavrsni-rad/styles/pages/module.scss
        on line 1 of styles/pages/module.scss
>> @import 'container.scss';
   ^

[23:58:26] Finished 'compileSass' after 14 ms
[23:58:28] Starting 'compileSass'...
[23:58:28] Finished 'compileSass' after 77ms

我尝试重新安装node.js,gulp和sass,但它没有解决问题。这让我疯了,有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

错误说没有 container.scss 文件或者它无法访问,而您正在尝试导入它,请检查拼写错误的文件名或文件路径。

答案 1 :(得分:1)

首先,您必须检查文件container.scss是否存在,以及它是否与module.scss文件位于同一文件夹中。

另请注意以下信息:

  

注意我们正在使用@import'reset';在base.scss文件中。导入文件时,不需要包含文件扩展名.scss。 Sass很聪明,会为你解决。

来源:Sass Basics