- 一、NodeJS 介绍
- 二、HTTP 模块、URL 模块 supervisor 工具
- 三、CommonJs 和 Nodejs 模块
- 四、NPM 第三方模块和 package
- 五、fs 模块
- 六、创建一个 WEB 服务器
- 七、Nodejs 的非阻塞 I/O、异步、事件驱动
- 八、静态文件托管 GET POST 路由 EJS 模板引擎
- 九、MongoDb 数据库介绍、安装、使用
- 十、MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查
- 十一、MongoDB 索引 explain 分析查询速度
- 十二、nodejs 操作 mongodb3.x 数据库的方法
- 十三、NodeJs 操作 MongoDb 数据库 数据的增加 修改 删除
- 十四、Express 安装和使用
- 十五、express 中间件 cookie 的基本使用
- 十六、express 中间件 express-session 常见参数配置使用
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
三、CommonJs 和 Nodejs 模块
3.1 什么是 CommonJs
JavaScript
是一个强大面向对象语言,它有很多快速高效的解释器。然而,JavaScript
标准定义的API
是为了构建基于浏览器的应用程序。并没有制定一个用于更广泛的应用程序 的标准库。 ,而不只是停留在小脚本程序 的阶段。用CommonJS API
编写出的应用,不仅可以利用JavaScript
开发客户端应用,而且还可以编写以下应 用
- 服务器端
JavaScript
应用程序。(nodejs
) - 命令行工具
- 桌面图形界面应用程序
CommonJS
就是模块化的标准, nodejs
就是 CommonJS
(模块化) 的实现
3.2 Nodejs 中的模块化
Node
应用由模块组成,采用 CommonJS
模块规范
3.2.1 在 Node 中,模块分为两类
- 一类是
Node
提供的模块,称为核心模块;另一类是用户编写的模块,称为文件模块
- 核心模块部分在
Node
源代码的编译过程中,编译进了二进制执行文件。在Node
进程启动时,部分核心模块就被直接加载进内存中,所以这部分核心模块引入时,文件定位和 编译执行这两个步骤可以省略掉,并且在路径分析中优先判断,所以它的加载速度是最快的。 如:HTTP
模块 、URL
模块、Fs
模块都是nodejs
内置的核心模块,可以直接引入使用- 文件模块则是在运行时动态加载,需要完整的路径分析、文件定位、编译执行过程、速度相比核心模块稍微慢一些,但是用的非常多。这些模块需要我们自己定义。接下来我 们看一下
nodejs
中的自定义模块。
3.2.2 CommonJS(Nodejs) 中自定义模块的规定
- 我们可以把公共的功能抽离成为一个单独的
js
文件作为一个模块,默认情况下面这 个模块里面的方法或者属性,外面是没法访问的。如果要让外部可以访问模块里面的方法或 者属性,就必须在模块里面通过exports
或者module.exports
暴露属性或者方法 - 在需要使用这些模块的文件中,通过
require
的方式引入这个模块。这个时候就可以 使用模块里面暴露的属性和方法
3.2.3 定义使用模块
// 定义一个 tools.js 的模块 //模块定义 var tools = { sayHello: function() { return 'hello NodeJS'; }, add: function(x, y) { return x + y; } }; // 模块接口的暴露 // module.exports = tools; exports.sayHello = tools.sayHello; exports.add = tools.add;
var http = require('http'); // 引入自定义的 tools.js 模块 var tools = require('./tools'); tools.sa yHello(); //使用模块
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论