node.js中的模块化标准CommonJS与自定义模块
一、 什么是 CommonJs?
【node.js中的模块化标准CommonJS与自定义模块】JavaScript 是一个强大面向对象语言,它有很多快速高效的解释器。 然而, JavaScript标准定义的 API 是为了构建基于浏览器的应用程序。并没有制定一个用于更广泛的应用程序的标准库。 CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷。 它的终极目标就是: 提供一个类似 Python, Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶段。用 CommonJS API 编写出的应用, 不仅可以利用 JavaScript 开发客户端应用, 而且还可以编写以下应用。
- 服务器端 JavaScript 应用程序。( nodejs)
- 命令行工具。
- 桌面图形界面应用程序。
二、 Nodejs 中的模块化 Node 应用由模块组成,采用 CommonJS 模块规范。
2.1 在 Node 中,模块分为两类:
一类是 Node 提供的模块,称为核心模块;另一类是用户编写的模块,称为文件模块。
- 核心模块部分在 Node 源代码的编译过程中,编译进了二进制执行文件。在 Node 进程启动时,部分核心模块就被直接加载进内存中,所以这部分核心模块引入时,文件定位和编译执行这两个步骤可以省略掉,并且在路径分析中优先判断,所以它的加载速度是最快的。如: HTTP 模块 、 URL 模块、 Fs 模块都是 nodejs 内置的核心模块,可以直接引入使用。
- 文件模块则是在运行时动态加载,需要完整的路径分析、文件定位、编译执行过程、速度相比核心模块稍微慢一些,但是用的非常多。 这些模块需要我们自己定义。 接下来我们看一下 nodejs 中的自定义模块。
- 1.我们可以把公共的功能抽离成为一个单独的 js 文件作为一个模块, 默认情况下面这个模块里面的方法或者属性, 外面是没法访问的。如果要让外部可以访问模块里面的方法或者属性, 就必须在模块里面通过 exports 或者 module.exports 暴露属性或者方法。
- 2. 在需要使用这些模块的文件中, 通过 require 的方式引入这个模块。这个时候就可以使用模块里面暴露的属性和方法。
文章图片
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; 1234var http = require('http'); // 引入自定义的 tools.js 模块var tools= require('./tools'); tools.sayHello(); //使用模块
三、 npm init 生成 package.json
npm init --yes
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- node.js+postman+mongodb搭建测试注册接口的实现
- Node.js工程师养成计划【某课附资料】
- docker|docker删除镜像和容器
- JDBC 在性能测试中的应用
- ES之Lucene中的段文件
- python打印print打印语句当中的f是什么
- HTTPHTTP请求体中的四种格式,requests库发送post请求
- vue|微信小程序中的web-view,实现微信小程序与h5页面间跳转
- java中的多态
- 投稿|一个商家眼中的618和那些“消失”的电商平台