net
是NodeJS的内置包,不需要显式安装。当您使用require('package')
时,将首先在内置包中搜索包。
要使用其他没有安装NodeJS并且未安装的软件包,也不能使用它。
取自Ben Nadel's blog
- 首先,Node.js查看给定模块是否是核心模块 - Node.js附带了许多直接编译成可执行二进制文件的模块(例如http,fs,sys,events ,路径等)。这些核心模块将始终优先于加载算法。
- 如果给定的模块不是核心模块,Node.js将开始搜索名为" node_modules" 的目录。它将从当前目录(相对于Node中当前正在执行的Javascript文件)开始,然后在文件夹层次结构中向上运行,检查node_modules文件夹的每个级别。
- 一旦Node.js找到node_modules文件夹,它就会尝试将给定模块加载为(.js)Javascript文件或命名子目录。并且,如果它找到了命名的子目录,它将尝试以各种方式加载文件。
- 如果仍然无法以此目录搜索方式找到该文件,Node.js将继续查看" require.paths"中列出的目录路径。阵列即可。此数组中的路径值默认为部分由环境变量NODE_PATH定义的路径;但是,它们可以在Node.js应用程序中以编程方式进行更新。
醇>