nodejs require本地模块的一些细节笔记

来源:互联网 发布:绿叶软件翻墙 编辑:程序博客网 时间:2024/06/05 04:04

先看node加载模块的流程,这里盗用一张别人做好的图,这里讲的主要是非原生模块的引用细节。

如果加载原生模块就没什么可注意的了,直接var 变量=require(模块名) =》var fs=require('fs');  node会按照上面的流程去加载模块


1.1如果是自己写的模块,就可以通过相对路径去引用了,比如我引用一个同级的people模块: var people=require('./people.js');  也可以不用后缀名:var people=require('./people');//但是这样看起来有歧义,如果有一个同名的文件夹people,那么node就会去找这个文件夹里面的index.js文件


1.2如果require一个文件夹,里面没有任何配置的时候,默认的入口文件就是index.js文件:比如有一个people文件夹,如果require('./people')这样默认加载的是这个文件夹里面的index.js文件,当然这个入口文件可以通过package.json文件配置main属性来控制


1.3引入自己写的模块也可以像引入原生模块一样,不用相对路径,但是要放在node_modules文件夹下面,node会默认去查找这个文件夹(前提是没有使用相对路径);比如我有一个自己写的people模块放在node_modules文件夹下面,我可以直接这样使用:var people=require('people.js');  //这样就可以引用到这个模块了,后缀名可以不写,但是推荐写上后缀名,因为防止出现同名的文件夹,这个时候nodejs就会去这个同名的文件夹下面加载入口文件


package.json文件配置还可以配置好多内容,后期专门来个详细的介绍,注意,这个配置json文件一定要和被配置的js模块同一个目录下,也就是入口js文件同一个目录下


1 0
原创粉丝点击