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

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

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

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

  1. var watch = require('glob-watcher');
  2. var exec = require('child_process').exec;
  3. var sys = require('sys');
  4. var matchregs=new Array(9);
  5. var godirpath = process.env.GODIR;
  6. var command = process.env.COMMAND;
  7. for (var i=0;i<10;i++){
  8. var perkey="";
  9. var tokay="";
  10. for(var j=0;j<=i;j++){
  11. perkey+="*";
  12. tokay=perkey+"/"+tokay
  13. }
  14. matchregs[i]=godirpath+"/"+tokay.substring(0,tokay.length-1);
  15. }
  16.  
  17. // var t=setTimeOut(function(){
  18. // console.log(matchregs)
  19. function startwatch(){
  20. var w=watch(matchregs, function(evt){
  21. console.log("1")
  22. child = exec(command, function(error, stdout, stderr) {
  23. sys.print('error: \n' + error+"\n");
  24. sys.print('stdout: \n' + stdout+"\n");
  25. sys.print('stderr: \n' + stderr+"\n");
  26. })
  27. setTimeout(function(){
  28. w.end();
  29. setTimeout(function(){
  30. startwatch();
  31. },1000)
  32. },2000)
  33. })
  34. }
  35.  
  36. startwatch()

用nodej和glub-watcher写的监听go 项目自动编译,很鸡肋的更多相关文章

  1. gulp之sass 监听文件,自动编译

    gulpfile.js文件如下: var gulp = require('gulp'); var sass = require('gulp-sass'); gulp.task('default', f ...

  2. Django进入监听端口就自动打开指定页面,无需导航栏手动添加(Django六)

    在我们进入监听端口时画面如下:而因为在urls.py中写过如下语句 我们在监听端口后加上/login就会跳转到login.html页面,如下图 那么如何一打开监听端口就可以走动跳转到login.htm ...

  3. Android 网络流量监听开源项目-ConnectionClass源码分析

    很多App要做到极致的话,对网络状态的监听是很有必要的,比如在网络差的时候加载质量一般的小图,缩略图,在网络好的时候,加载高清大图,脸书的android 客户端就是这么做的, 当然伟大的脸书也把这部分 ...

  4. 十一、Node.js监听代码改动自动重启node插件supervisor

    我们慢慢地发现,每次我们稍微改变js代码都需要重启服务才能在浏览器显示新的效果,很麻烦,这里我们可以通过npm命令安装supervisoror插件,安装方法如下 之前章节我们知道安装了nodejs就会 ...

  5. Selenium通过监听事件实现自动截图

    需要继承extends TestListenerAdapter这个类 代码如下package com.mushishi.selenium.util; import java.util.ArrayLis ...

  6. spring cloud (六) 将一个普通的springcloud项目 非feign或ribbon项目,改造成turbine可聚合监听的项目

    改造之前一个项目 service-a 1 pom.xml添加如下 <dependency> <groupId>org.springframework.cloud</gro ...

  7. Nodemon 如何实时监听 TypeScript 项目下的文件并热部署?

    首先你的项目要安装ts-node和nodemon: npm i -D ts-node nodemon 在package.json文件中配置运行脚本: "dev": "no ...

  8. C# FileSystemWatcher监听文件事件

    现有一个需求如下:监控某个目录中的文件修改,创建,删除等信息,并记录下来. 这里用到FileSystemWatcher类.由于考虑到文件的写入量会很频率,所以考虑先将监听到的消息记录到内存中. 监听部 ...

  9. FileSystemWatcher监听文件事件

    现有一个需求如下:监控某个目录中的文件修改,创建,删除等信息,并记录下来. 这里用到FileSystemWatcher类.由于考虑到文件的写入量会很频率,所以考虑先将监听到的消息记录到内存中. 监听部 ...

随机推荐

  1. 5、StringBuffer与StringBuilder的区别(十进制转二进制)

    1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们 ...

  2. IntelliJ IDEA 环境配置

    0. 下载 jdk 用于 java developer kit  下载地址 见 rj.baidu.com 1. 从百度 网盘下载 ideaIU-2016.2.5.exe 并安装在window上 2. ...

  3. CSS布局概述

    1.HTML5文档类型 由于Bootstrap使用了HTML5特定的HTML元素和CSS属性,所以使用Bootstrap的时候,所有的HTML文件都需要在其顶部引用HTML5的DOCTYPE属性,如下 ...

  4. powerDesigner 报Unable to connect SQLState=08004 解决方法

    在使用PowerDesigner配置数据库连接(configure connections)的时候,点击Test connection之后弹出Unable to connect SQLState=08 ...

  5. Data Science at the Command Line学习笔记(二)

    1.vagrant建立简单httpserver方法: 1)映射端口 修改Vagrantfile, 末尾添加本地端口和虚机端口的映射关系, 然后执行vagrant reload. Vagrant::Co ...

  6. QTP实现功能测试的时候,当新版本的页面都改变了,应该如何解决

    去更改对象仓库的属性和更改对象仓库.

  7. UIAutomator 编译

    环境搭建 1.必备条件: 1.JDK    2.SDK(API高于15)    3.Eclipse(安装ADT插件)    4.ANT(用于编译生成jar) 2.简要步骤: 1.安装JDK并添加环境变 ...

  8. MyBatis学习总结(五)——实现关联表查询

    一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...

  9. phpexcel导入excel表格

    html代码 <form action="{:U('Mall/updExcel')}" method="POST" enctype="multi ...

  10. 0525 SCRUM项目7.0

    主题:在下一个SPRINT中做的更好 一,实验回顾总结 当谈到在一个团队里的收获,首当其冲的便是对于团队工作流程的切身体会.亲力亲为.从申报材料.问卷设计.访谈提纲.团队建设.书签制作到实地访谈.问卷 ...