Javascript Gulp 4-任务未使用Browsersync正常运行 本地版本4.0.2,CLI版本2.3.0 v2.26.13

Javascript Gulp 4-任务未使用Browsersync正常运行 本地版本4.0.2,CLI版本2.3.0 v2.26.13,javascript,node.js,express,gulp,browser-sync,Javascript,Node.js,Express,Gulp,Browser Sync,gulpfile.js: “严格使用” const gulp=require(‘gulp’) const concat=require('gulp-concat') const babel=require('gulp-babel') const-uglify=require('gulp-uglify') const browserSync=require('browser-sync') require('dotenv').config() const server=browserSync.cre

gulpfile.js

“严格使用”
const gulp=require(‘gulp’)
const concat=require('gulp-concat')
const babel=require('gulp-babel')
const-uglify=require('gulp-uglify')
const browserSync=require('browser-sync')
require('dotenv').config()
const server=browserSync.create()
函数js(){
回灌
.src(['./resources/js/main.js','./resources/js/theme.js']))
.烟斗(
巴别塔({
预设值:['@babel/env'],
})
)
.管道(丑()
.pipe(concat('app.min.js'))
.pipe(gulp.dest('./public/assets/js/'))
}
功能服务(完成){
server.init({
代理:`http://localhost:${process.env.PORT}`,
港口:3001,
})
完成()
}
函数重新加载(完成){
server.reload()
完成()
}
函数监视(){
返回gulp.watch('./resources/js/*.js',gulp.series(js,reload))
}
const dev=gulp.series(js、发球、手表)
exports.default=dev
此设置与Gulp文档中的设置非常相似

代理位于
localhost:3000的express服务器并监视JavaScript文件的更改

问题 当我更改位于
/resources/js/
的任何JavaScript文件时,浏览器重新加载未完成。我可以看到任务在创建
/public/assets/js/app.min.js
文件时工作正常

当我点击
gulp
命令时,它会将任务
dev
gulp.series(js,serve,watch)
)作为默认任务成功运行,并开始监视更改。更改并保存JavaScript文件后,
js
reload
任务开始运行。但是浏览器重新加载被卡住了,其他什么都没有发生

更新并保存
.js
文件时终端的输出:

[15:39:16]正在启动“js”。。。
[15:39:16]在61毫秒后完成“js”
[15:39:16]正在启动“重新加载”。。。
[15:39:16]在2.03毫秒后完成“重新加载”
[Browsersync]正在重新加载浏览器。。。
  • v3.2.25
  • v4.17.1
在花了好几个小时之后,我终于发现我的节点服务器出现了问题。我在启用加载程序的情况下运行它

我是这样运行服务器的:

nodemon-r esm app.js
解决方案 当我以这种方式启动express server时,一切正常:

nodemon app.js
然而,我仍然不确定这是最好的解决方案

我不知道为什么启用esm会导致故障并阻止Browsersync重新加载。

  • v3.2.25
  • v4.17.1
在花了好几个小时之后,我终于发现我的节点服务器出现了问题。我在启用加载程序的情况下运行它

我是这样运行服务器的:

nodemon-r esm app.js
解决方案 当我以这种方式启动express server时,一切正常:

nodemon app.js
然而,我仍然不确定这是最好的解决方案

我不知道为什么启用
esm
会导致问题并阻止重新加载Browsersync