【发布时间】:2019-06-12 00:05:38
【问题描述】:
我正在尝试从 Gulp 版本 3 切换到 Gulp 版本 4,但我经常遇到监视任务问题,当跟踪的 SCSS 文件更改时,它不会检测到更改。我做了一个简单的 watch 函数示例,因为它更容易调试。
Ubuntu 17.10
Node v8.9.4
Npm 6.9.0
Gulp CLI version: 2.2.0
Gulp Local version: 4.0.2
我尝试完全删除 gulp 和 gulp-cli 并重新安装,删除 node_modules 文件夹并从头开始创建 package.json 文件,但结果是一样的。 “开始‘看’……”没有别的了。
package.json
{
"name": "starter",
"version": "1.0.0",
"description": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"gulp": "^4.0.2",
"gulp-sass": "^4.0.2"
}
}
gulpfile.js
const {src, dest, watch} = require('gulp');
const sass= require('gulp-sass');
function style() {
return src('./scss/**/*.scss')
.pipe(sass())
.pipe(dest('./css'));
}
function watchTask() {
watch('./scss/**/*.scss', style);
}
exports.style = style;
exports.watch = watchTask;
注意:样式任务正常工作,并将所有.scss 文件从源移动到目标。
非常感谢任何帮助,因为我的想法已经不多了。
【问题讨论】:
-
假设您正在运行
gulp watch尝试稍微修改为watch('./scss/**/*.scss', gulp.series(style));并将series添加到您的要求中。有时这似乎有帮助,尽管它不应该是必要的。 -
您的原始代码非常适合我。那些路径是正确的?并且相对于这个 gulpfile.js 的位置?
-
看起来只有当有某种类型的映射/同步文件夹与 vagrant/docker 时才会出现问题。我正在使用 vagrant,{usePolling: true} 让我很开心。
标签: javascript gulp gulp-watch gulp-4