gulpfile.js
:
'use strict'
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()
function js() {
return gulp
.src(['./resources/js/main.js', './resources/js/theme.js'])
.pipe(
babel({
presets: ['@babel/env'],
})
)
.pipe(uglify())
.pipe(concat('app.min.js'))
.pipe(gulp.dest('./public/assets/js/'))
}
function serve(done) {
server.init({
proxy: `http://localhost:${process.env.PORT}`,
port: 3001,
})
done()
}
function reload(done) {
server.reload()
done()
}
function watch() {
return gulp.watch('./resources/js/*.js', gulp.series(js, reload))
}
const dev = gulp.series(js, serve, watch)
exports.default = dev
此设置与Gulp文档中的this example非常相似。
在localhost:3000
上代理快速服务器,并监视JavaScript文件的更改。
当我更改位于./resources/js/
的任何JavaScript文件时,浏览器重新加载未完成。我可以看到 js
任务在创建./public/assets/js/app.min.js
文件时正常工作。
当我按下gulp
命令时,它将作为默认任务成功运行任务 dev
(gulp.series(js, serve, watch)
),并开始监视更改。更改并保存JavaScript文件后,js
和reload
任务开始运行。但是浏览器重新加载卡住了,什么也没有发生。
我更新并保存.js
文件时终端的输出:
[15:39:16] Starting 'js'...
[15:39:16] Finished 'js' after 61 ms
[15:39:16] Starting 'reload'...
[15:39:16] Finished 'reload' after 2.03 ms
[Browsersync] Reloading Browsers...