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 win7下安装方法
May 24 NodeJs
nodejs教程之入门
Nov 21 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
NodeJS连接MongoDB数据库时报错的快速解决方法
May 13 NodeJs
用Nodejs搭建服务器访问html、css、JS等静态资源文件
Apr 28 NodeJs
nodejs multer实现文件上传与下载
May 10 NodeJs
nodejs后台集成ueditor富文本编辑器的实例
Jul 11 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
nodejs实现获取本地文件夹下图片信息功能示例
Jun 22 NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 NodeJs
nodejs对mongodb数据库的增加修删该查实例代码
Jan 05 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
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
Javascript基于OOP实实现探测器功能代码实例
2020/08/26 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
pandas 选择某几列的方法
2018/07/03 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
木工主管岗位职责
2013/12/08 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
经典导游欢迎词
2015/01/26 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
行政申诉状范文
2015/05/20 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书