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通过phantomjs实现下载网页
May 04 NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 NodeJs
NodeJS创建基础应用并应用模板引擎
Apr 12 NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 NodeJs
Windows下快速搭建NodeJS本地服务器的步骤
Aug 09 NodeJs
Nodejs实现文件上传的示例代码
Sep 26 NodeJs
Nodejs调用WebService的示例代码
Sep 29 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 NodeJs
nodejs中方法和模块用法示例
Dec 24 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
nodejs+express最简易的连接数据库的方法
Dec 23 NodeJs
分享五个Node.js开发的优秀实践 
Apr 07 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
Python模块包中__init__.py文件功能分析
2016/06/14 Python
python正则表达式面试题解答
2020/04/28 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
Python流程控制 if else实现解析
2019/09/02 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
学生宿舍管理制度
2014/01/30 职场文书
行政专员的岗位职责
2014/03/10 职场文书
创业培训计划书
2014/05/03 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
办公室班子四风问题对照检查材料
2014/10/04 职场文书
担保书格式
2015/01/20 职场文书
社区服务理念口号
2015/12/25 职场文书