io.js是nodejs的友好版的分支("friendly fork”)。它支持npm中所有的同样模块,且使用了v8最新版本的截取(v8是被node.js使用js解释器),且修复了很多的bug,下面我们将讨论这些新特性:

在运行程序之前的预加载模块

新的node/iojs二进制有一个新的CLI选项用于在运行程序之前预加载模型。

-r--要求模块在启动的时候预加载

这对于 预加载项目日志和调试你电脑中的模块很有用

例如:

// preload.js
var myLogger = require('./myredislogger')('remotehost', ) console.log = function () {
console.log.apply(console.log, arguments)
myLogger.log.apply(myLogger.log, arguments)
} console.error = function () {
console.error.apply(console.error, arguments)
myLogger.error.apply(myLogger.error, arguments)
} > node -r preload.js server.js

代码设置高效的UID/GID

在大对数的可移植操作系统接口(posix)系统上面,高效的uid/gid(euid/egid)是程序创建文件的所有者,且程序使用其进行access检查(access checks)。现在,这些检查和设置可以在io,js中通过代码实现,例如下例:

process.geteuid()
process.seteuid(id)
process.getegid()
process.setegid(id)

享受简单化的流创造

当你使用io.js穿件一个新地简单化的创建(simplified creation API),你不需要在留上面设置难懂的underscore方法。

var transform = new stream.Transform({
transform: function(chunk, encoding, next) {
// sets this._transform under the hood
},
flush: function(done) {
// sets this._flush under the hood
}
});

使用dns.lookup()的'all'参数获取所有的DNS结果

现在在结局域名问题的时候,你可以获取所有的结果,而不是只是获得第一个或默认的结果。

dns.lookup('localhost', {all:true}, function (err, results) {
console.log(results)
// [ { address: '127.0.0.1', family: 4 },
// { address: '::1', family: 6 },
// { address: 'fe80::1', family: 6 } ]
})

使用Buffer.indexOf()

这和string上面的indexOf()类似,除了对Buffers不能使用。

在书写二进制转换器的时候buffer很有用。

assert.deepStrictEqual() 适用于更好的测试

The assert module commonly used in testing has a deepEqual() function which quite useful but use '==' and not '==='. assert.deepStrictEqual has the same deep recursive functionality but uses '==='.

原文链接:https://blog.xervo.io/fun-with-iojs-6-new-features

最新文章

  1. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析
  2. 在IIS EXPRESS下运行一个visual studio 项目,跳转到另一个项目的解决方案。
  3. Java和eclipse常用操作
  4. Web前端性能优化教程08:配置ETag
  5. mytbatis小问题
  6. UVA 540 stl
  7. Samba结合AD实现域帐号认证的文件服务器
  8. 译文:javascript function中的this
  9. 【BZOJ】1044: [HAOI2008]木棍分割 二分+区间DP
  10. Linux运维需要掌握的技能 (转)
  11. jquery easy ui 学习 (9)Pagination in TreeGrid 分页
  12. Node.js 安装 初体验(1)
  13. D8
  14. 前台改变asp button控件的值,后台取值没有改变的问题
  15. asp.net web api实现图片点击式图片验证码
  16. JavaScript是如何工作的:使用MutationObserver跟踪DOM的变化
  17. Kaldi的delta特征
  18. HBase表的基本结构和常用命令行操作
  19. https://segmentfault.com/a/1190000014637728
  20. [CQOI2017]老C的任务

热门文章

  1. 检测session用户信息跳转首页界面
  2. vim visual模式 复制
  3. 转载 jenkins执行selenium 测试 浏览器不显示解决方法
  4. iphone怎么检测屏幕是否被点亮 (用UIApplication的Delegate)
  5. JDBC详解2
  6. 7 Javascript:表单与验证-非空验证
  7. [闲来无事,从头再来][C51篇]导读
  8. You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
  9. wechat JS-SKD (getLoaction) 定位显示百度map
  10. python基础7 ---python函数