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实用示例 缩址还原
Dec 28 NodeJs
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
nodejs下打包模块archiver详解
Dec 03 NodeJs
初探nodeJS
Jan 24 NodeJs
nodejs中使用HTTP分块响应和定时器示例代码
Mar 19 NodeJs
详解NodeJS框架express的路径映射(路由)功能及控制
Mar 24 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
Nodejs调用WebService的示例代码
Sep 29 NodeJs
使用npm安装最新版本nodejs
Jan 18 NodeJs
nodejs实现的简单web服务器功能示例
Mar 15 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
nodejs文件夹深层复制功能
Sep 03 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
一个JS翻页效果
2007/07/23 Javascript
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
javascript常用功能汇总
2015/07/05 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
党员群众路线自我剖析材料
2014/10/06 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏
vue封装数字翻牌器
2022/04/20 Vue.js