首页 > web前端 > js教程 > 正文

Node.js 工具模块

黄舟
发布: 2017-01-17 16:10:58
原创
1282 人浏览过

学习要点

Node.js os 系统操作函数

Node.js Path 处理文件

Node.js Net 网络通信

Node.js Dns 域名解析

Node.js Domain(域) 

Node.js 工具模块

Node.js os 系统操作函数 

案例:os.js

[code]var os = require('os');
// 返回操作系统的默认临时文件夹
console.log(os.tmpdir());
// 返回CPU的字节序
console.log(os.endianness());
// 返回 OS 的主机名
console.log(os.hostname());
// 返回 OS 名
console.log(os.type());
// 返回 OS 名称
console.log(os.platform());
// 返回 OS CPU 架构
console.log(os.arch());
// 返回 OS 的发行版本
console.log(os.release());
// 返回 OS 运行的时间,以秒为单位
console.log(os.uptime());
// 返回一个包含1、5、15分钟平均负载的数组
console.log(os.loadavg());
// 返回 OS 空闲内存量,单位是字节
console.log(os.freemem());
// 返回一个对象数组,包含所安装的每个 CPU内核的信息:
// 型号、速度、时间
console.log(os.cpus());
// 获得网络接口列表
console.log(os.networkInterfaces());
登录后复制

296.png

Node.js Path 处理文件

案例:path.js

[code]var path = require('path');
// 规范化路径,注意'..' 和 '.'
console.log('normalization : ' + path.normalize('/test/test1//2slashes/1slash/tab/..'));
// 连接路径
console.log('joint path : ' + path.join('/test', 'test1', '2slashes/1slash', 'tab', '..'));
// 转换为绝对路劲
console.log('resolve : ' + path.resolve('path.js'));
// 路径中文件的后缀名
console.log('ext name : ' + path.extname('path.js'));
登录后复制


297.png

Node.js Net 网络通信

案例:浏览器无法工作

net.js

[code]var net = require('net');
var server = net.createServer(function (connection) {
    console.log('client connected');
    connection.on('end', function () {
        console.log('客户端关闭连接');
    });
    connection.write('Hello World!\r\n');
    connection.pipe(connection);
});
server.listen(8888, function () {
    console.log('server is listening');
});
登录后复制

298.png

Node.js Dns 域名解析

案例:dns.js

[code]var dns = require('dns');
dns.lookup('www.lamport.me', function onLookup (err, address, family) {
    console.log('ip 地址:', address);
    dns.reverse(address, function (err, hostnames) {
        if (err) console.log(err.stack);
        console.log('反向解析' + address + ': ' + JSON.stringify(hostnames));
    })
})
登录后复制

299.png

Node.js Domain(域)

简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常

案例:domain.js

[code]var EventEmitter = require("events").EventEmitter;
var domain = require("domain");
var emitter1 = new EventEmitter();
// 创建域
var domain1 = domain.create();
domain1.on('error', function(err){
   console.log("domain1 处理这个错误 ("+err.message+")");
});
// 显式绑定
domain1.add(emitter1);
emitter1.on('error',function(err){
   console.log("监听器处理此错误 ("+err.message+")");
});
emitter1.emit('error',new Error('通过监听器来处理'));
emitter1.removeAllListeners('error');
emitter1.emit('error',new Error('通过 domain1 处理'));
var domain2 = domain.create();
domain2.on('error', function(err){
   console.log("domain2 处理这个错误 ("+err.message+")");
});
// 隐式绑定
domain2.run(function(){
   var emitter2 = new EventEmitter();
   emitter2.emit('error',new Error('通过 domain2 处理'));   
});
登录后复制

300.png

以上就是Node.js 工具模块的内容,更多相关内容请关注PHP中文网(www.php.cn)!


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!