Gulp 4 编译 scss 创建空 css 文件,但 sass 编译正确
Gulp 4 compilling scss creates empty css file, but sass compiles correctly
我已经安装了gulp@4.0.0、gulp-sass@4.0.2,以及Windows中最新的gulp-cli
当我为 src() 设置路径以查找 'assets/css/src/**/*.sass'
文件以创建流时,它正确地将 sass 编译为 css。
但是当我尝试对 'assets/css/src/**/*.scss'
文件执行此操作时,它会创建相应的 .css 文件,但该文件为空。
当我故意将错误代码放入 .scss
文件时,它会抛出错误,因此 gulp-sass 实际上确实会通过 .scss 文件,但是不会将缓冲区输出到 css 代码中。
即使我 运行 node-sass 手动编译脚本,它也会产生同样的问题,所以它可能更多地与 node-sass 作为编译器有关。
注意:
.scss 和 .sass 的语法都是正确的,并且使用了正确的扩展名。
这是我的 gulpfile.js:
var gulp = require("gulp");
var sass = require("gulp-sass");
let paths = {
css : {
src : 'assets/css/src/**/*.scss',
dest : 'assets/css/dist'
}
};
function style() {
return (
gulp
.src(paths.css.src)
.pipe(sass())
.on("error", sass.logError)
.pipe(gulp.dest(paths.css.dest))
);
}
// $ gulp style
exports.style = style;
可能是当您将文件扩展名更改为 .scss
时,内容仍在使用旧式缩进语法。
.SASS 缩进语法
body
background-color: red;
h1
font-size: 2.5rem;
.SCSS语法
body {
background-color: red;
h1 {
font-size: 2.5rem;
}
}
确保每个扩展使用正确的语法。
您可以阅读更多关于 Sass Indented Syntax and the difference between SASS and SCSS
已解决:原来只有有属性的style block被注释了,导致.scss文件return输出空,sass不会编译空块.
我已经安装了gulp@4.0.0、gulp-sass@4.0.2,以及Windows中最新的gulp-cli
当我为 src() 设置路径以查找 'assets/css/src/**/*.sass'
文件以创建流时,它正确地将 sass 编译为 css。
但是当我尝试对 'assets/css/src/**/*.scss'
文件执行此操作时,它会创建相应的 .css 文件,但该文件为空。
当我故意将错误代码放入 .scss
文件时,它会抛出错误,因此 gulp-sass 实际上确实会通过 .scss 文件,但是不会将缓冲区输出到 css 代码中。
即使我 运行 node-sass 手动编译脚本,它也会产生同样的问题,所以它可能更多地与 node-sass 作为编译器有关。
注意: .scss 和 .sass 的语法都是正确的,并且使用了正确的扩展名。
这是我的 gulpfile.js:
var gulp = require("gulp");
var sass = require("gulp-sass");
let paths = {
css : {
src : 'assets/css/src/**/*.scss',
dest : 'assets/css/dist'
}
};
function style() {
return (
gulp
.src(paths.css.src)
.pipe(sass())
.on("error", sass.logError)
.pipe(gulp.dest(paths.css.dest))
);
}
// $ gulp style
exports.style = style;
可能是当您将文件扩展名更改为 .scss
时,内容仍在使用旧式缩进语法。
.SASS 缩进语法
body
background-color: red;
h1
font-size: 2.5rem;
.SCSS语法
body {
background-color: red;
h1 {
font-size: 2.5rem;
}
}
确保每个扩展使用正确的语法。
您可以阅读更多关于 Sass Indented Syntax and the difference between SASS and SCSS
已解决:原来只有有属性的style block被注释了,导致.scss文件return输出空,sass不会编译空块.