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 相关文章推荐
windows系统下简单nodejs安装及环境配置
Jan 08 NodeJs
详谈nodejs异步编程
Dec 04 NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 NodeJs
nodejs实现获取当前url地址及url各种参数值
Jun 25 NodeJs
NodeJS仿WebApi路由示例
Feb 28 NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
nodejs开发微信小程序实现密码加密
Jul 11 NodeJs
NodeJs form-data格式传输文件的方法
Dec 13 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
May 15 NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
Oct 25 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中路径问题的解决方案
2006/10/09 PHP
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
js动态引入的四种方法
2018/05/05 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
Vue如何使用混合Mixins和插件开发详解
2020/02/05 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
用Python进行TCP网络编程的教程
2015/04/29 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
opencv 阈值分割的具体使用
2020/07/08 Python
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
比较一下entity bean和session bean
2013/12/27 面试题
计算机专业推荐信范文
2013/11/27 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
生产车间标语
2014/06/11 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
世界遗产导游词
2015/02/13 职场文书