用Node.js 写web框架(四)
不得不说,基本上我们还没到写框架的日子,前面这些,完全都是在写一个web服务器(而且还没写完)。 今天的工作主要是整理。 首先来谈谈Node.js中模块的概念。基本上我们以前的工作就是:写一个js文件,然后根据相对路径来引用它。这里出现一个问题,就是相对路径实际上并不稳定,而且我们后期可能把所有框架级别的内容单独放置在一个文件夹中,这时候同样会改变相对路径,所以需要引入模块来实现require时候的稳定。 Node.js中从路径Y中require(X)的流程为: 1. 如果X是核心模块(如http、fs等),返回核心模块 2. 如果X以'./'或者'../'或者'/'开始,首先尝试以文件方式加载,失败则尝试以文件夹方式加载 3. 如果2失败,则尝试在node_modules目录下查找该模块 更详细内容可以看这个: Node.js API 这里我们使用第三种,就是把所有框架级别的文件单独放在node_modules下的一个文件夹下,并根据 CommonJS关于Package的规范 来重新整理文件夹结构。 首先是文件夹结构: 顶层文件夹中,包含一个文件:package.json,用于描述包信息 二进制文件放在/bin下 Javascript文件放在/lib下 文档放在/doc下 测试文件放在/test下 原文: http://wiki.commonjs.org/wiki