Gulp-sass fails to compile scss file(Gulp-sass 无法编译 scss 文件)
问题描述
我正在使用 Gulp 将我的 sass 编译成 css.一个简单的任务编译 _/sass 目录中的 style.scss 文件,并将输出保存到项目的根目录中.style.scss 仅用于导入 _/sass 目录下的其他文件.
I'm using Gulp to compile my sass into css. A simple task compiles the style.scss file in the _/sass directory and saves the output into the root of the project. style.scss is used merely to import other files in the _/sass directory.
当我从命令行 ($ gulp) 运行默认任务时,我收到一个 sass 无法编译的错误.它全部包含在下面.我已从包含的文件中删除所有内容并再次运行该任务.我仍然收到相同的错误(我在网上阅读的内容表明这可能会测试编码问题.我不完全了解编码以及这可能会如何破坏我的场景).
When I run the default task from the command line ($ gulp) I get an error that the sass can't compile. It is included below in full. I have removed all content from the included files and run the task again. I still receive the same error (something I read online suggested this might test for an encoding issue. I don't fully understand encoding and how that might break things in my scenario).
我还从命令行 $ sass _/sass/style.scss style.css 运行,它与包含文件中的内容完美配合.这表明 gulp sass 插件本身存在问题.
I've also run from the command line $ sass _/sass/style.scss style.css which works perfectly with content in the included files. This suggests to me a problem with the gulp sass plugin itself.
来自 gulpfile.js 的相关片段:
The relevant snippets from 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的全部内容:
The full contents of 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'
推荐答案
保持导入不变,只需在 gulp sass 模块中传递 includePaths 选项作为参数:
Keep your imports as is, just pass the includePaths option in your gulp sass module as an argument:
gulp.src('./_/sass/style.scss')
        .pipe(sass({ includePaths : ['_/sass/'] }))
        .pipe(gulp.dest('./'));
...应该为你做.
根据 https://github.com/dlmanning/gulp-sass/issues/1
这篇关于Gulp-sass 无法编译 scss 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Gulp-sass 无法编译 scss 文件
 
				
         
 
            
        基础教程推荐
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
- 如何在特定日期之前获取消息? 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
						 
						 
						 
						 
						 
				 
				 
				 
				