Gulp 4 观察者是 运行 但没有检测到变化
Gulp 4 watcher is running but does not detect changes
我的文件结构如下:
/ src
-- app.less
/ gulp
-- index.js
-- gulpfile.js
这个文件结构挂载在 /vagrant 的 vagrant box 中,这意味着到 app.less 的路径变为 /vagrant/src/app.less。 是的,我已经检查过了。
gulpfile.js
require('./gulp');
index.js
var paths = {
less: '/vagrant/src/app.less'
};
gulp.task('less', function () {
console.log('less function running');
return gulp.src(paths.less)
.pipe(less());
});
gulp.task('watch:styles', function () {
console.log('watch function running');
gulp.watch(paths.less, gulp.series('less'));
});
gulp.task('watch', gulp.parallel('watch:styles'));
gulp-vreturns:
[10:02:05] CLI version 0.4.0
[10:02:05] Local version 4.0.0-alpha.1
gulp 观看 returns:
[09:45:20] Using gulpfile /vagrant/gulpfile.js
[09:45:20] Starting 'watch'...
[09:45:20] Starting 'watch:styles'...
watch function running
我已经使用 Gulp 4 超过 2 个月,观察器没有出现问题。自上周以来,观察者没有响应正在更改的文件。我试过几个编辑器,我试过多个路径,比如 '/vagrant/**/*.less' 和 '../src/*.less' 甚至 app.less '[= 的绝对路径43=].less',其中 none 有效。
经过一些研究,我在 Gulp 4 的 github 回购协议中发现了几个关于观察者的问题。但是,我无法弄清楚问题是什么。也许我忽略了我的代码中的错误或文档中的新内容,但我从昨天早上开始就试图解决这个问题,但没有任何运气。
您似乎在使用 Vagrant。如果你有 Gulp 运行ning 在你的 Vagrant 机器上而不是在主机上,它不会检测到你在主机上对文件所做的任何更改。这是因为通知 OS 有关文件系统更改的事件不会传播到 VM。
如果是这种情况,解决方案是简单地 运行 Gulp 在您实际对文件进行更改的任何地方(即,如果您在 VM 上进行更改,运行它在 VM 上,如果您在主机上进行更改,运行 Gulp 在主机上)。
也可以使路径相对,而不是将您的实现绑定到您的 Vagrant 框。即 less: './src/app.less'
.
我的文件结构如下:
/ src
-- app.less
/ gulp
-- index.js
-- gulpfile.js
这个文件结构挂载在 /vagrant 的 vagrant box 中,这意味着到 app.less 的路径变为 /vagrant/src/app.less。 是的,我已经检查过了。
gulpfile.js
require('./gulp');
index.js
var paths = {
less: '/vagrant/src/app.less'
};
gulp.task('less', function () {
console.log('less function running');
return gulp.src(paths.less)
.pipe(less());
});
gulp.task('watch:styles', function () {
console.log('watch function running');
gulp.watch(paths.less, gulp.series('less'));
});
gulp.task('watch', gulp.parallel('watch:styles'));
gulp-vreturns:
[10:02:05] CLI version 0.4.0
[10:02:05] Local version 4.0.0-alpha.1
gulp 观看 returns:
[09:45:20] Using gulpfile /vagrant/gulpfile.js
[09:45:20] Starting 'watch'...
[09:45:20] Starting 'watch:styles'...
watch function running
我已经使用 Gulp 4 超过 2 个月,观察器没有出现问题。自上周以来,观察者没有响应正在更改的文件。我试过几个编辑器,我试过多个路径,比如 '/vagrant/**/*.less' 和 '../src/*.less' 甚至 app.less '[= 的绝对路径43=].less',其中 none 有效。
经过一些研究,我在 Gulp 4 的 github 回购协议中发现了几个关于观察者的问题。但是,我无法弄清楚问题是什么。也许我忽略了我的代码中的错误或文档中的新内容,但我从昨天早上开始就试图解决这个问题,但没有任何运气。
您似乎在使用 Vagrant。如果你有 Gulp 运行ning 在你的 Vagrant 机器上而不是在主机上,它不会检测到你在主机上对文件所做的任何更改。这是因为通知 OS 有关文件系统更改的事件不会传播到 VM。
如果是这种情况,解决方案是简单地 运行 Gulp 在您实际对文件进行更改的任何地方(即,如果您在 VM 上进行更改,运行它在 VM 上,如果您在主机上进行更改,运行 Gulp 在主机上)。
也可以使路径相对,而不是将您的实现绑定到您的 Vagrant 框。即 less: './src/app.less'
.