Gulp-sass无法编译scss文件

 白杨树 发布于 2023-02-06 11:01

我正在使用Gulp将我的sass编译成css.一个简单的任务编译目录中的style.scss文件,_/sass并将输出保存到项目的根目录中.style.scss仅用于导入目录中的其他文件_/sass.

当我从命令行($ gulp)运行默认任务时,我得到一个sass无法编译的错误.它包含在下面.我已从包含的文件中删除所有内容并再次运行该任务.我仍然收到相同的错误(我在网上看到的建议这可能会测试编码问题.我不完全理解编码以及这可能会破坏我的场景中的事情).

我也从命令行运行,$ sass _/sass/style.scss style.css它与包含文件中的内容完美配合.这告诉我gulp sass插件本身存在问题.

来自gulpfile.js的相关片段:

var gulp = require('gulp');
var sass = require('gulp-sass');

// Compile sass files
gulp.task('sass', function () {
    gulp.src('./_/sass/style.scss')
        .pipe(sass())
        .pipe(gulp.dest('./'));
});

// The default task (called when you run `gulp`)
gulp.task('default', function() {
  gulp.run('sass');

  // Watch files and run tasks if they change

  gulp.watch(['./_/sass/style.scss'], function() {
    gulp.run('sass');
  })
});

style.scss的全部内容:

/* RESET */
@import '_/sass/reset';
/* TYPOGRAPHY */
@import '_/sass/typography';
/* MOBILE */
@import '_/sass/mobile';
/* MAIN */
@import '_/sass/main';

目录结构:

??? _
?   ??? inc
?   ?   ??? stuff
?   ??? js
?   ?   ??? otherstuff.js
?   ??? sass
?       ??? main.scss
?       ??? mobile.scss
?       ??? print.scss
?       ??? reset.scss
?       ??? style.scss
?       ??? typography.scss
??? gulpfile.js
??? style.css

终端吐出:

[gulp] Using file /Users/jeshuamaxey/project/dir/path/gulpfile.js
[gulp] Working directory changed to /Users/jeshuamaxey/project/dir/path/html5reset
[gulp] Running 'default'...
[gulp] Running 'sass'...
[gulp] Finished 'sass' in 3.18 ms
[gulp] Finished 'default' in 8.09 ms

stream.js:94
      throw er; // Unhandled stream error in pipe.
            ^
source string:11: error: file to import not found or unreadable: 'reset'

Dog.. 16

按原样保持导入,只需将includePathsgulp sass模块中的选项作为参数传递:

gulp.src('./_/sass/style.scss')
        .pipe(sass({ includePaths : ['_/sass/'] }))
        .pipe(gulp.dest('./'));

......应该为你做.

根据https://github.com/dlmanning/gulp-sass/issues/1

1 个回答
  • 按原样保持导入,只需将includePathsgulp sass模块中的选项作为参数传递:

    gulp.src('./_/sass/style.scss')
            .pipe(sass({ includePaths : ['_/sass/'] }))
            .pipe(gulp.dest('./'));
    

    ......应该为你做.

    根据https://github.com/dlmanning/gulp-sass/issues/1

    2023-02-06 11:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有