nodejs的require模块(文件模块/核心模块)及路径介绍


Posted in NodeJs onJanuary 14, 2013

在nodejs中,模块大概可以分为核心模块和文件模块。

核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net'))。

文件模块,则是指js文件、json文件或者是.node文件。在引用文件模块的时候后要加上文件的路径:/.../.../xxx.js表示绝对路径、./xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录。如果既不加/.../、../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件夹加载。

对于加载模块时既没指出./ ../ /.../时,加载模块的搜索路径。如果'/home/ry/projects/foo.js' 中的文件调用了 require('bar.js') ,node将在下面的位置进行搜索:

/home/ry/projects/node_modules/bar.js 
/home/ry/node_modules/bar.js 
/home/node_modules/bar.js 
/node_modules/bar.js

文件夹作为模块
首先在文件夹的根下建立package.json文件,它标识了一个主模块。一个package.json中的内容可能如下:
{ "name" : "some-library", "main" : "./lib/some-library.js" }

如果这是在一个文件夹./some-library下,那么require('./some-library')时将试图加载./some-library/lib/some-library.js如果在这个目录下没有package.json文件,node将试图从这个目录下加载index.js或index.node文件。例如,如果上面没有package.json文件,那么require('./some-library')时,将试图加载下面的文件
./some-library/index.js 
./some-library/index.node
NodeJs 相关文章推荐
Nodejs学习笔记之Global Objects全局对象
Jan 13 NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
nodejs连接mongodb数据库实现增删改查
Dec 01 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
Jul 31 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
一文秒懂nodejs中的异步编程
Jan 28 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 NodeJs
nodejs利用readline提示输入内容实例代码
Jul 15 NodeJs
windows系统下简单nodejs安装及环境配置
Jan 08 #NodeJs
NodeJs中的非阻塞方法介绍
Jun 05 #NodeJs
nodejs win7下安装方法
May 24 #NodeJs
NodeJS的模块写法入门(实例代码)
Mar 07 #NodeJs
nodejs入门详解(多篇文章结合)
Mar 07 #NodeJs
NodeJS 模块开发及发布详解分享
Mar 07 #NodeJs
用nodejs访问ActiveX对象,以操作Access数据库为例。
Dec 15 #NodeJs
You might like
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
举例区分Python中的浅复制与深复制
2015/07/02 Python
Python中的引用知识点总结
2019/05/20 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
前台文员我鉴定
2014/01/12 职场文书
《花的勇气》教后反思
2014/02/12 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
普通党员对照检查材料
2014/09/24 职场文书
兴趣班停课通知
2015/04/24 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书