nodejs require本地模块的一些细节笔记
2016-06-28 17:31
676 查看
先看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文件同一个目录下
如果加载原生模块就没什么可注意的了,直接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文件同一个目录下
相关文章推荐
- 使用ruby部署工具mina快速部署nodejs应用教程
- Google官方支持的NodeJS访问API,提供后台登录授权
- 浅谈Nodejs观察者模式
- nodejs教程之环境安装及运行
- nodejs中的fiber(纤程)库详解
- 基于NodeJS的前后端分离的思考与实践(五)多终端适配
- 基于NodeJS的前后端分离的思考与实践(二)模版探索
- 实例详解Nodejs 保存 payload 发送过来的文件
- 我的NodeJs学习小结(一)
- Node.js 应用跑得更快 10 个技巧
- nodejs中实现sleep功能实例
- Nodejs异步回调的优雅处理方法
- Windows系统下使用Sublime搭建nodejs环境
- nodejs实现获取某宝商品分类
- nodejs简单实现中英文翻译
- Node.js插件的正确编写方式
- 使用upstart把nodejs应用封装为系统服务实例
- NodeJS Web应用监听sock文件实例
- Nodejs学习笔记之测试驱动
- Nodejs学习笔记之Stream模块