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 相关文章推荐
使用upstart把nodejs应用封装为系统服务实例
Jun 01 NodeJs
详谈nodejs异步编程
Dec 04 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
nodejs 的 session 简单使用
Jun 06 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
详解Windows下安装Nodejs步骤
May 18 NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 NodeJs
对mac下nodejs 更新到最新版本的最新方法(推荐)
May 17 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
Nodejs 识别图片类型的方法
Aug 15 NodeJs
图解NodeJS实现登录注册功能
Sep 16 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下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
Python 实现自动导入缺失的库
2019/10/29 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
深入浅析Python代码规范性检测
2020/07/31 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
英国在线药房:Express Chemist
2019/03/28 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
老公给老婆的道歉信
2014/01/10 职场文书
安全标语口号
2014/06/09 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
中文专业自荐书
2014/06/29 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
员工自我评价范文
2015/03/11 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
Pytorch中的数据集划分&正则化方法
2021/05/27 Python