Node.JS在命令行中检查Chrome浏览器是否安装,并打开指定网址 使用Windows命令行cmd可以指定浏览器打开网址。在node.js中使用start即可,但是当用户没有安装Chrome时使用start则会报错,并会弹出错误对话框,Chrome默认安装位置为:
C:\Documents and Settings\{USERNAME}\Local Settings\Application Data\Google\Chrome\Application
我们还需要借助os获取Windows当前登录的用户名,如果没有安装Chrome的话,则用IE打开,最终代码如下:
node.js中将console.log日志内容输出到文件 node.js在运行时,有时需要将console.log的内容打印输出到文件来调试。可以用以下方法。
Linux中可以在启动添加:
node script-file.js > log-file.txt
使用Node.JS批量查找替换目录下文本文件中图片地址内容 最近想起来 adsense 的广告费好久没领了,就登陆了查看了一下。发现最近几个月 ourjs 的流量下降地很厉害。 然后登陆 google analytics 仔细查看,发现流量量几乎降低了一半。
然后分析里面的一些文章,发现很多图片不能显示了。
仔细研究下发现,以前用的 github page 图床被墙了,所有引用 github.io 的图片都打不开。
但是又发现,githubusercontent 的图片引用是可以用的。
找到问题的原因,赶紧花了几分钟写了个小脚本,把里面所有的地址替换了一下。
判断Node.JS TCP Socket当前连接状态 Node.JS 官方文档中并没有获取当前 socket 连接状态的说明。不过打印 socket 可以看出,可以通过 socket._handle 属性来判断,当socket end或 destroy后,此属性被设为null。当建立tcp连接后 _handle 为 tcp 对象:
Socket {
connecting: false,
_hadError: false,
_handle:
TCP {
bytesRead: 0,
_externalStream: {},
fd: -1,
reading: true,
owner: [Circular],
onread: [Function: onread],
onconnection: null,
writeQueueSize: 0 },
_parent: null,
_host: null,
Node.JS进程间通讯的几种方法:Redis Publish/Subscribe 和 UDP Socket 如果您装有redis客户端就可以通过 redis 的 publish/ subscribe方法来通讯,注意一旦使用subscribe,则此 redis 只能接收:SUBSCRIBE、PSUBSCRIBE、UNSUBSCRIBE和PUNSUBSCRIBE 等消息订阅指令,您可以专门创建一个redis实例来进行进程间通信。
Node.JS命令行或批处理中更改Linux用户密码 chpasswd 可在批处理文件中批量更改Linux用户的密码。用法:
chpasswd [options]
如何收集捕获Node中的未处理的错误异常信息? node.js是出错异常了,最关键是要知道哪错了。stack是error很重要的一个属性,可以帮助我们了解代码到底是执行哪一行出错了,比如某个error 的 stack:
Error: "start" option must be <= "end" option
at new ReadStream (fs.js:1931:13)
at Object.fs.createReadStream (fs.js:1885:10)
at /var/www/oncedoc/mod/onceoa-oncedoc/svr/onceoa.web.js:1:2315
at FSReqWrap.oncomplete (fs.js:123:15)
Node.JS循环删除非空文件夹及子目录下的所有文件 最近要实现一个循文件夹的功能,文件夹可能不是空的,还可能带有子文件夹和文件,网上找了一些现有的库,但是都不提供删除进度。所以就自己写了一个。
var states = remove('./testdir', function() {
console.log('delete complete')
clearInterval(checkTimer)
});
var checkTimer = setInterval(function() {
console.log(states)
}, 500);
Node.js 和 JavaScript 的最新版 npm 导致 Linux 系统崩溃,迫使用户重装系统! npm(节点软件包管理器)是使用最广泛的JavaScript软件包管理器,npm中的一个缺陷(bug)将更改重要的Linux系统文件夹(比如/etc、/usr和/boot)的所有权。
据此前安装npm v5.7.0的用户声称,更改这些文件的所有权后,结果不是导致系统和各个本地应用程序崩溃,就是阻止系统启动。这是一款显然存在缺陷的npm更新版。