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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
nodejs中操作mysql数据库示例
Dec 20 NodeJs
NodeJS中利用Promise来封装异步函数
Feb 25 NodeJs
Windows系统下使用Sublime搭建nodejs环境
Apr 13 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
nodejs简单实现操作arduino
Sep 25 NodeJs
解析NodeJs的调试方法
Dec 11 NodeJs
Nodejs 复制文件/文件夹的方法
Aug 24 NodeJs
nodejs简单读写excel内容的方法示例
Mar 16 NodeJs
nodejs基础之常用工具模块util用法分析
Dec 26 NodeJs
Nodejs实现用户注册功能
Apr 14 NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 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 CURL采集百度搜寻结果图片不显示问题的解决方法
2017/02/03 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
Use Word to Search for Files
2007/06/15 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
2020/08/03 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
python使用百度翻译进行中翻英示例
2014/04/14 Python
Python使用MD5加密字符串示例
2014/08/22 Python
python之django母板页面的使用
2018/07/03 Python
详解flask表单提交的两种方式
2018/07/21 Python
python实现归并排序算法
2018/11/22 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
敬老文明号事迹材料
2014/01/16 职场文书
物流管理专业推荐信
2014/09/06 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
2014年话务员工作总结
2014/11/19 职场文书
2015年保管员工作总结
2015/04/30 职场文书
小学毕业感言100字
2015/07/30 职场文书
Python字典的基础操作
2021/11/01 Python