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教程 安装express及配置app.js文件的详细步骤
May 11 NodeJs
Nodejs sublime text 3安装与配置
Jun 19 NodeJs
提高NodeJS中SSL服务的性能
Jul 15 NodeJs
使用nodejs、Python写的一个简易HTTP静态文件服务器
Jul 18 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
windows 下安装nodejs 环境变量设置
Feb 02 NodeJs
docker中编译nodejs并使用nginx启动
Jun 23 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 NodeJs
详解nodejs http请求相关总结
Mar 31 NodeJs
nodejs中实现修改用户路由功能
May 24 NodeJs
详解利用nodejs对本地json文件进行增删改查
Sep 20 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
资料注册后发信小技巧
2006/10/09 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
bootstrap fileinput完整实例分享
2016/11/08 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
mpvue将vue项目转换为小程序
2018/09/30 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
python实现类之间的方法互相调用
2018/04/29 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
Python中调用其他程序的方式详解
2019/08/06 Python
Python坐标线性插值应用实现
2019/11/13 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
Python的logging模块基本用法
2020/12/24 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
详解HTML5中的标签
2015/06/19 HTML / CSS
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
《荷花》教学反思
2014/04/16 职场文书
法律专业求职信
2014/05/24 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python