【发布时间】:2021-04-28 10:32:42
【问题描述】:
首先,我希望你们能温柔一点。近年来,我没有进行太多编码,自从 gulp update 之后将语法更改为编写函数并导出时,我以某种方式使其工作,并且到目前为止没有任何更改,不知道他们是否更改了其他内容。我对现在的情况很满意,但我不知道如何让它以另一种方式工作。
所以不管怎样,我现在正在做一个项目,其中会有很多 html,每个都有完全不同的样式,但有些会很常见。我想为每个 html 制作一个包含通用样式的 main.scss 文件,但我想制作一个单独的 scss,其中包含每个 html 特有的样式。这样最后我想要一个单独的 css 文件,由具有相同名称的特定 scss 与 main.scss 组合而成,这样它就不必下载单个大文件,而只需下载我需要的样式。
例子:
main.scss
01.scss
02.scss
03.scss
将编译为:
01.css ( main.scss + 01.scss )
02.css ( main.scss + 02.scss )
03.css ( main.scss + 03.scss )
这是我现在的 gulpfile:
const gulp = require('gulp');
const sass = require('gulp-sass');
const browserSync = require('browser-sync').create();
function style() {
return gulp.src('./scss/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./css'))
.pipe(browserSync.stream());
}
function watch() {
browserSync.init({
server: {
baseDir: './'
}
});
gulp.watch('./scss/**/*.scss', style);
gulp.watch('./*.html').on('change', browserSync.reload);
gulp.watch('./js/**/*.js').on('change', browserSync.reload);
}
exports.style = style;
exports.watch = watch;
如果您知道如何以更好的方式做到这一点,我将不胜感激。
【问题讨论】: