用nodej和glub-watcher写的监听go 项目自动编译,很鸡肋

glub 一般都是很轻量的编译。

go太重了,改一小个部分,就编译的话,多数是编译失败。

而且很消耗性能,还没想到完美的优化办法。

 

暂时用个定时器 监听2秒,停止1秒,如此循环,会减少些 “无效”的编译

var watch = require('glob-watcher');
var exec = require('child_process').exec;
var sys = require('sys');
var matchregs=new Array(9);
var godirpath = process.env.GODIR;
var command = process.env.COMMAND;
for (var i=0;i<10;i++){
    var perkey="";
    var tokay="";
     for(var j=0;j<=i;j++){
         perkey+="*";
         tokay=perkey+"/"+tokay
     }
   matchregs[i]=godirpath+"/"+tokay.substring(0,tokay.length-1);
}


// var t=setTimeOut(function(){
// console.log(matchregs)
function startwatch(){
    var w=watch(matchregs, function(evt){
    console.log("1")
       child = exec(command, function(error, stdout, stderr) {
        sys.print('error: \n' + error+"\n");
        sys.print('stdout: \n' + stdout+"\n");
        sys.print('stderr: \n' + stderr+"\n");
   })
   setTimeout(function(){
       w.end();
        setTimeout(function(){
              startwatch();    
            },1000)
   },2000)
})
    }

startwatch()

 

posted @ 2015-11-20 00:30  cclient  阅读(292)  评论(0编辑  收藏  举报