node基础 --全局

全局对象:

  • global:永远使用var 定义变量以避免引入全局变量;
  • process:所有全局执行上下文的内容都在process对象中;

模块和包:

  •  模块:一个Node.js 文件就是一个模块,这个文件可能是 JavaScript 代码、JSON 或者编译过的 C/C++ 扩展。Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。
  • 包:包是在模块基础上更深一步的抽象,Node.js 的包类似于 C/C++ 的函数库或者 Java/.Net 的类库。

模块系统:三个全局变量

  • require():如果模块不是在node_modules中,那么必须使用相对路径导入;
  • exports:可以在这个对象上定义一些属性,以这个对象为模块暴露的API;
  • module:exports就是module.exports,可以将exports完全重写,换一个暴露的API;

监听事件:EventEmitter; 对比window.addEventListen;

var EventEmitter = require('events').EventEmitter;               //获取引入模块对应的监听方法;
var a = new EventEmitter;                                       //根据这个方法新建一个对象;
a.on('event',function(){});/a.once('event',function(){});          //在这个对象上监听其相关的事件

原文地址:https://www.cnblogs.com/jinkspeng/p/4055105.html