exports和module.exports的区别Node导入modules有./和no的区别(文件系统工作原理)示例导入./currency。如果省略./只写currency,Node会根据几个规则搜索这个模块,如图3-5所示。可以使用环境变量NODE_PATH更改Node模块的默认路径。如果模块是目录,则模块目录中定义模块的文件必须命名为index.js,除非您在该目录中名为package.json的文件中另有指定。要指定替换index.js的文件,package.json文件必须有一个在JavaScript对象表示法(JSON)数据中定义的对象,带有一个名为main的键,该键指定模块目录中主文件的路径节点可以缓存模块作为对象。如果程序中有两个文件导入同一个模块,第一个文件会将模块返回的数据存储在程序的内存中,这样第二个文件就不需要访问和计算模块的源文件。回调和事件监听器创建他们自己的事件发射器。一个NodeHTTP服务器实例是一个事件发射器,一个可以被继承并可以增加事件发射和处理能力的类(EventEmitter)。Node的很多核心功能都继承自EventEmitter,您也可以创建自己的事件发射器。节点编程其实就是定义事件触发器和触发事件触发处理的编程。继承的事件发射器使用匿名函数来保存全局变量的值。串行任务执行顺序插件的串并行控制
