gpt4 book ai didi

sass - Gulp Sass 不编译部分

转载 作者:行者123 更新时间:2023-11-28 01:07:36 24 4
gpt4 key购买 nike

所以我正在使用 Gulp Sassgulp-changed (我也尝试过更新语法更改的 gulp-newer)和查看我文件夹中的所有 scss 文件。

当我更改基础 scss 文件时,它将毫无问题地编译。

但是,如果我更改一个部分,它不会编译依赖于该部分的 sass 文件。

gulp

var SRC = './stylesheets/**/*.scss';
var DEST = './stylesheets';
gulp.task('sass', function() {
return gulp.src(SRC)
.pipe(changed(DEST, { extension: '.css' }))
.pipe(plumber({
errorHandler: handleErrors
}))
.pipe(sourcemaps.init())
.pipe(sass({
includePaths: [
'C:/var/www/mobile 2/stylesheets'
]}))
.pipe(sourcemaps.write('./'))
.on('error', handleErrors)
.pipe(gulp.dest(DEST))
});

文件夹

├── scss
│ └── base.scss
│ ├── _partial1.scss
│ └── _partial2.scss
│ └── anotherBase.scss
│ ├── _anotherBasePartial1.scss
│ └── _anotherBasePartial2.scss

修改 base.scss || anotherBase.scss 进行了更改,对 partial1.scss 没有任何更改。

在日志中可以看到:

[15:14:02] Starting 'sass'... //here i changed _partial1.scss
[15:14:03] Finished 'sass' after 248 ms
[15:18:20] Starting 'sass'...
[15:18:20] Finished 'sass' after 289 ms
[BS] File changed: c:\var\www\mobile 2\stylesheets\sitescss\responsive\tools\base.css
[15:18:24] Starting 'sass'...
[15:18:24] Finished 'sass' after 289 ms
[BS] File changed: c:\var\www\mobile 2\stylesheets\sitescss\responsive\tools\anotherBase.css

我希望它在部分更改时编译 scss。

最佳答案

演出有点晚了,但如果我没理解错的话;您想在更改任何 scss 文件时运行您的构建,无论是否是部分文件,对吗? (但不包括构建本身的部分 - 因为这是由 sass @import 处理的)。

我通常使用这种方法:

var scss_source = [ 'path/to/scss' ],
partials_source = [ 'path/to/partials' ];

gulp.task('scss', function () {
gulp.src( scss_source )
...
});

var scss_watcher = gulp.watch([ scss_source, partials_source ], [ 'scss' ]);

我只将 scss_source 传递给构建,但将两个源都传递给观察者。这样我就可以将所有部分与其余的 scss 源分开,但是对任何文件的更改都会触发构建。而且我不必包含另一个模块来处理这个问题。

我通常将我的部分文件放在单独的目录中(认为是共享的,而不是与其他 scss 文件混合)。

希望这对你的情况有意义——否则我深表歉意。

关于sass - Gulp Sass 不编译部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52271915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com