内容纲要

gin 框架编写的程序在 windows console 下运行,会没有颜色,且有些输出日志看不见。在 msys2 环境下运行可见。

配置 msys64\home\USERNAME\.bashrc,添加

[code language=”bash”]
export GOROOT=/d/go
export GOBIN=$GOROOT/bin
export GOPATH=/d/go-projects

# node 环境,共享 windows 下 node, 非 msys2 下安装
export NODEROOT=/d/nginxstack/nodejs
export NPMROOT=/c/Users/USERNAME/AppData/Roaming/npm

export PATH=$GOBIN:$GOPATH/bin:$NODEROOT:$NPMROOT:$PATH

# go 开发需要 http 代理拉依赖包
export http_proxy=http://127.0.0.1:7777
export https_proxy=http://127.0.0.1:7777
[/code]

windows cmd 下运行, 映射共享 node_modules 目录
[code]
mklink /D C:\msys64\node_modules C:\Users\USERNAME\AppData\Roaming\npm\node_modules
[/code]

在 go 工程目录下运行

[code]
gulp
[/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]

发表评论

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