10.Node.js核心模块

1.全局对象
2.常用工具
3.事件机制
4.文件系统访问
5.HTTP服务与客户端

一.全局对象(Global Object), 与window对象一样

process ==> 全局变量, 描述当前Node.js进程状态的对象, 提供了一个操作系统的简单接口

1.process.argv ==> 命令行参数数组, 第一个元素是node, 第二个元素是脚本文件名, 第三个元素开始每个元素是一个运行参数
2.process.stdout ==> 标准输出流,通常我们使用的 console.log() 向标准输出打印字符,而 process.stdout.write() 函数提供了更底层的接口。
3.process.stdin ==> 是标准输入流,初始时它是被暂停的,要想从标准输入读取数据,你必须恢复流,并手动编写流的事件响应函数。
4.process.nextTick(callback) ==> 的功能是为事件循环设置一项任务,Node.js 会在下次事件循环调响应时调用 callback 。

function  doSomething(args, callback) {
  somethingComplicated(args);
  callback();
} 

doSomething(function  onEnd() {
  compute();
}); 

// process.nextTick() 提供了一个这样的工具,可以把复杂的工作拆散,变成一个个较小的事件。
// 改写后的程序会把上面耗时的操作拆分为两个事件,减少每个事件的执行时间,提高事件响应速度。
function  doSomething(args, callback) {
  somethingComplicated(args);
  process.nextTick(callback);
} 

doSomething(function  onEnd() {
  compute();
});

5.除此之外process 还展示了process.platform 、process.pid 、process.execPath 、process.memoryUsage()等方法

二.常用工具util

1.util.inherits ==> 对象间原型继承
2.util.inspect ==> 是一个将任意对象转换为字符串的方法,通常用于调试和错误输出。
它至少接受一个参数 object,即要转换的对象。showHidden 是一个可选参数,如果值为  true,将会输出更多隐藏信息。
3.四个类型测试工具
3.util.isArray()
4.util.isRegExp()
5.util.isDate()
6.util.isError()
7.util.format()
8.util.debug()

http://nodejs.org/api/util.html 了解详细内容。 

时间: 2024-10-13 02:04:01

10.Node.js核心模块的相关文章

Node.js开发 ---- 模块 require和 exports

蟹蟹https://liuzhichao.com/p/1669.html 什么是模块? Node.js通过实现CommonJS的Modules/1.0标准引入了模块(module)概念,模块是Node.js的基本组成部分.一个node.js文件就是一个模块,也就是说文件和模块是一一对应的关系.这个文件可以是JavaScript代码,JSON或者编译过的C/C++扩展. Node.js的模块分为两类,一类为原生(核心)模块,一类为文件模块. 在文件模块中,又分为3类模块.这三类文件模块以后缀来区分

Node.js(二)——模块与包管理工具

http,process等等这些都是模块 一.Node.js的模块与Commonjs规范 1.js的天生缺陷--缺少模块化管理机制 ·表现--JS中容易出现变量被覆盖,方法被替代的情况(既被污染).特别是存在依赖关系时,容易出现错误.这是因为JS缺少模块管理机制,来隔离实现各种不同功能的JS判断,避免它们相互污染. ·解决--经常采用命名空间的方式,把变量和函数限制在某个特定的作用域内,人肉约定一套命名规范来限制代码,保证代码安全运行.jQuery中有许多变量和方法,但是无法直接访问,必须通过j

Node.js 的模块系统

Node.js的模块系统是借鉴 CommonJS 的 Modules 规范实现的,因此,下面我们需要先了解 CommonJS 的 Modules 规范,希望对大家学习Node.js有所帮助. CommonJS 的 Modules 规范 CommonJS 对模块的定义非常简单,主要分为 模块引用.模块定义和模块标识三个部分. 1. 模块引用 - require() 方法 2. 模块定义 - module.exports 对象 3. 模块标识 - 传递给 require() 方法的参数 通过 Com

避免多层回调,Node.js异步模块Async初使用

原来写的一个分页查询,回调了好几层. exports.list = function(req,res) { var params = {}; var current_page = common_util.get_param_value(req,'current_page','Number',1); var page_size = common_util.get_param_value(req,'page_size','Number',10); var start_index = common_u

Node.js之模块机制

文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 其实在JavaScript的发展中,它主要是在浏览器前端中被应用广泛.因为在实际应用中, JavaScript的表现能力主要取决于宿主环境的API支持程度, 在最早期,只有对BOM, DOM的支持,随着HTML5的出现,在浏览器中出现了更多,更强大的API供JavaScript调用,但是这些都是发生在前端,后端JavaScript的规范却远远落后.Java有class文件,Phthon有import机制,P

Node.js文件模块fs监视文件变化

Node.js文件模块fs监视文件变化 Node中文件模块fs监视文件的函数源码如下: fs.watch = function(filename) { nullCheck(filename); var watcher; var options; var listener; if (util.isObject(arguments[1])) { options = arguments[1]; listener = arguments[2]; } else { options = {}; listen

node.js基础模块http、网页分析工具cherrio实现爬虫

node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherrio. 使用http直接获取url路径对应网页资源,然后使用cherrio分析. 这里我主要学习过的案例自己敲了一遍,加深理解.在coding的过程中,我第一次把jq获取后的对象直接用forEach遍历,直接报错,是因为jq没有对应的这个方法,只有js数组可以调用. 二.知识点    ①:supera

(译)Node.js的模块-exports和module.exports

原文标题:Node.js Module – exports vs module.exports原文链接:http://www.hacksparrow.com/node-js-exports-vs-module-exports.html exports 和 module.exports 有什么区别? 你一定很熟悉 Node.js 模块中的用来在你的模块中创建函数的 exports 对象,就像下面这样. 创建一个叫做rocker.js的文件: exports.name = function() {

node.js笔记——模块的开发

模块是什么? 简单来说模块是用来将实现某个功能的代码进行封装以便在其他项目中通过简单引入的方式实现模块中封装的功能的一个东西!!(我更想管他叫小程序). 模块的引入 模块的引入使用reqiure()函数来实现例如引入http模块 var h = require("http"); 这里需要注意的是require()加载函数可以加载指定的js文件,当引入的不是某个js文件而是一段没有扩展名的字符时,默认node.js会加载当前根目录下的node_modules文件夹下面的文件夹里的文件 并