创建 GO PATHgulpfile.js

var gulp = require('gulp');
var path = require('path');
var shell = require('gulp-shell');

var goPath = 'src/mypackage/**/*.go';

gulp.task('compilepkg', function() {
  return gulp.src(goPath, {read: false})
    .pipe(shell(['go install <%= stripPath(file.path) %>'],
      {
          templateData: {
            stripPath: function(filePath) {
              var subPath = filePath.substring(process.cwd().length + 5);
              var pkg = subPath.substring(0, subPath.lastIndexOf(path.sep));
              return pkg;
            }
          }
      })
    );
});

gulp.task('watch', function() {
  gulp.watch(goPath, ['compilepkg']);
});

在上面的代码中,我们定义了一个 compliepkg 任务,每当 goPath(src / mypackage /)或子目录中的任何 go 文件发生变化时,都会触发该任务。该任务将运行 shell 命令 go install changed_file.go

在 go 路径中创建 gulp 文件并定义任务后打开命令行并运行:

gulp 手表

每次文件更改时,你都会看到类似的内容: StackOverflow 文档