- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - 模块
Node.js中的模块是独立且可重用的代码的集合,可以导入到任何Node.js应用程序中。顾名思义,模块为开发Node.js应用程序提供了一种模块化和结构化的方法。不是将应用程序的所有函数、类和方法放在一个.js文件中,而是根据它们的相关性将这些资源安排在单独的文件(称为模块)中。这样可以更好地控制 Node.js 应用程序的维护和故障排除。
Node.js V8 JavaScript 引擎上运行,该引擎解释 JavaScript 代码。所有服务器端进程都由通过 require() 函数导入到应用程序中的相关Node.js模块处理。Node.js模块是函数、类和其他可重用代码的库,存储在一个或多个.js文件中。
导入 Node.js 模块的一个典型示例是如何启动 Node.js 服务器的。需要在 http 模块中定义的 createServer() 函数来启动 Node.js 服务器。因此,在调用 http 模块之前,需要导入。
http = require('node:http');
listener = function (request, response) {
...
...
};
server = http.createServer(listener);
server.listen(3000);
模块类型
Node.js中的每个模块都有自己的上下文,并实现了 CommonJS 模块标准。Node.js中的模块可以是以下三种类型中的任何一种 -
第三方模块
这些模块由独立开发人员开发,可在 NPM 存储库上使用。如果要将模块的功能合并到应用程序中,则应在Node.js项目文件夹中全局或本地安装模块。
Express 模块就是这样一个模块的例子。要安装,请使用以下任一命令 -
or
npm install express –save //install locally
然后,您可以在应用程序中导入已安装的模块。例如 -
var express = require('express');
内置模块
Node.js运行时软件带有 V8 JavaScript 引擎,与许多核心模块捆绑在一起,这些模块执行重要的服务器端任务,例如管理事件循环、执行文件 IO 和操作系统特定功能等。内置或核心模块的示例包括 http、fs、console 等。这些模块是预装的,但您必须使用 require() 函数导入它们(除了 process、buffer 和 console 模块等少数模块,它们是全局对象)。例如 -
var fs = require('fs');
本地模块
本地模块是一个.js文件,它存储了一个或Node.js应用程序所需的函数或类的定义。这样的模块本地存在于同一个 Node.js 应用程序文件夹中,该文件夹也应该包含在带有 require() 函数的应用程序中。
Node.js应用程序中的每个.js文件都有一个特殊的模块对象。它的 exports 属性将.js文件中的某个函数、对象或变量暴露给外部代码。
例以下functions.js文件包含三个函数,分别返回 x 的值为 y、x 的平方根和 x 的对数值。这些函数被导出以供外部使用。
exports.power = function powerval( x, y) {
var val = Math.pow(x,y);
return val;
}
exports.root = function rootval(x,y) {
var val = Math.sqrt(x);
return val;
}
exports.log = function logval(x) {
var val = Math.log10(x);
return val;
}
现在,我们将在另一个Node.js应用程序main.js中使用这些导出的函数。首先导入本地函数模块,然后调用从中导入的函数。
const mymodule = require('./mathfunctions'); console.log("10 Raised to 3:" + mymodule.power(10,3)); console.log("Square root of 10: "+ mymodule.root(10)); console.log("Log of 1000: " + mymodule.log(1000));
输出
Square root of 10: 3.1622776601683795
Log of 1000: 3