Module 01 · Introduction to Server-Side JavaScript服务器端 JavaScript 入门
Working with Node.js Modules使用 Node.js 模块
🎵 背景音乐开始
欢迎观看《使用 Node.js 模块》课程!完成本视频后,您将能够:
- 描述 Node.js 的包(Packages)
- 在脚本中导入 Node.js 模块
- 从模块中导出函数和属性
- 访问模块中导出的属性
什么是 Node.js 包(Package)?
- 定义:一个包由一个或多个模块组成。
- package.json 文件:
- 描述有关 Node.js 模块的详细信息。
- 如果模块没有 package.json 文件,Node.js 默认假定主文件为 index.js。

- 若需要指定不同的主脚本,可以在 package.json 中通过
main字段指定相对路径。
package.json 文件示例

{
"name": "today",
"version": "1.0.0",
"main": "lib/today.js",
"license": "MIT"
}
| 字段名称 | 描述 |
|---|---|
| name | 模块的名称,例如 today。 |
| version | 模块的版本,例如 1.0.0。 |
| main | 主脚本的路径,例如 lib/today.js。 |
| license | 声明模块的使用权限,例如 MIT。 |
导入(Import)Node.js 模块

使用require导入模块
- 导入单个脚本模块:
使用require函数指定脚本文件的相对路径。
const today = require('./today.js');
- 导入目录模块:
当使用require导入目录时:
- 如果目录内存在 index.js 文件,Node.js 将加载该文件作为默认入口。
const modToday = require('./mod_today'); // 加载 mod_today/index.js
- 目录结构示例:


/project
├── hello.js
└── mod_today
└── index.js
导出(Export)函数和属性
默认导出对象exports
- 每个 Node.js 模块都有一个隐式的 exports 对象。
- 可以通过为
exports添加属性和方法,将函数或值暴露给其他模块使用。


示例:导出函数
文件名:today.js
exports.dayOfWeek = function () {
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
return days[new Date().getDay()];
};
导入导出的综合示例
导入和使用模块
文件名:hello.js

const today = require('./today.js');
console.log(today.dayOfWeek()); // 输出当前星期几
总结
通过本视频,您学习了以下内容:
- Node.js 包:每个包都包含一个 package.json 文件,描述模块的细节。
- 模块导入:使用
require函数导入单个脚本或目录模块。 - 模块导出:通过为隐式的
exports对象添加属性和方法,向外暴露模块内容。 - 模块使用:
require函数返回一个表示模块实例的 JavaScript 对象,可通过该对象访问模块的导出属性。
🎉 恭喜您掌握了 Node.js 模块的基本用法! 🚀