我爱编程蜀山兀,架构出

Node.js - 编程基础

2017-06-19  本文已影响0人  Standstill

命名空间

首先我们需要考虑的是组织和重用代码,那么这就涉及到命名空间(namespace)。
Node.js 针对命名空间处理如下,

模块输出:module.exports 或者 exports,(exports只是对module.exports的一个全局引用)
模块引入:require,( I/O 同步操作, 在程序中I/O密集的地方尽量不要用require)

Node.js对于模块的处理如下:

  1. 是否调用的是核心模块https://nodejs.org/api/
  2. 是否存在在当前node_modules目录下面
  3. 是否存在在环境变量NODE_PATH下面

异步编程

再有就是Node.js比较重要的一个特性,就是异步编程。
Node.js中有两种响应逻辑管理方式:

回调:

var fs = require('fs');

fs.readFile('test.dat' , function(err , data){
  console.log('这行代码会在读取文件完成之后进行');
})
console.log('这行代码会在读取文件完成之前进行');

事件监听器:

使用new EventEmitter()来实现事件功能
包括两个方面
事件监听器: eventemitter.on('action' ,function(){}) // 如果只希望响应一次,on -> once
事件发射器: eventemitter.emit('action')

流程控制

异步跟同步其实也就是流程中的串行跟并行

比较流行的流程控制的工具:Nimble,Step,Seq
串行可以通过Nimble工具实现:

nimble.series([function(),function(),...])
参考自:《Node.js实战》 - Mike Cantlon 等
上一篇 下一篇
Node.js 第一步 Node.js Web相关
上一篇下一篇

猜你喜欢

热点阅读