内容纲要

go 写的 httpserver 静态编译过了,livereload 需要配合 chrome 插件,使用 gulp 配合 livereload 插件实现。流程就是监视 go 文件变化,杀死运行进程,编译,重启,livereload 刷新。
chrome livereload 插件 https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei/

[code]
npm install gulp-cli -g
npm install gulp gulp-shell gulp-wait gulp-livereload -D
[/code]

gulpfile.js
[code language=”js”]
const gulp = require(‘gulp’);
const shell = require(‘gulp-shell’);
const wait = require(‘gulp-wait’);
const childProcess = require(‘child_process’);
const livereload = require(‘gulp-livereload’);

gulp.task(‘build’, shell.task([
‘build.bat’
]));

gulp.task(‘app:kill’,
shell.task([
‘taskkill /F /IM app.exe’,
], {verbose : true, ignoreErrors : true})
);

gulp.task(‘app:start’, () => {
childProcess.spawn(‘app.exe’, [‘-t’], {
stdio: ‘inherit’
});

return gulp.src([‘*.go’]).pipe(wait(200)).pipe(livereload());
});

gulp.task(‘watch’, function() {
livereload.listen();
gulp.watch(‘**/*.go’, gulp.series(‘app:kill’, ‘build’, ‘app:start’));
});

gulp.task(‘default’, gulp.series(‘app:start’, ‘watch’));

[/code]

发表评论

电子邮件地址不会被公开。 必填项已用*标注