我只是在玩golang。我很好奇我怎么能从go运行gulpfile任务?
从典型终端运行的Gulp任务:
gulp serv.dev
我如何从golang运行这一简单的代码:
package main
import (
"net/http"
"github.com/julienschmidt/httprouter"
"fmt"
)
func main() {
//what do I put here to open terminal in background and run `gulp serv.dev`
}
答案 0 :(得分:8)
您正在寻找的是exec.Command
您几乎想要产生一个将运行gulp
任务的流程。
这可以这样做:
package main
import (
"os/exec"
)
func main() {
cmd := exec.Command("gulp", "serv.dev")
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
}
答案 1 :(得分:4)
看看exec。对于您的用例:
package main
import (
"net/http"
"github.com/julienschmidt/httprouter"
"fmt"
"os/exec"
"log"
)
func main() {
out, err := exec.Command("gulp", "serv.dev").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)
}
答案 2 :(得分:2)
您很可能需要exec package
cmd := exec.Command("gulp", "serv.dev")
err := cmd.Run()
看一下exec.Command的例子。他们解释了如何传递参数和读取输出。