NodeJs模块与vanilla JavaScript库相同,它们是由一些外部因素(其他一些javascript文件或应用程序)使用的代码块。NodeJs是一个javascript运行环境,就像vanilla javascript库一样,互联网上有数以百万计的NodeJs模块。模块,就像Js库一样,可以是一个单一的文件,也可以由一堆文件培育而成,共同完成一个特定的任务或提供某些功能。
在你的项目中包括一个模块
要使用一个特定的模块,你需要使用关键字**"require() "**和该模块的名称。如果你想使用的模块不是内置模块,那么你可以通过在终端使用以下命令从npm库中下载模块。
npm installs <name-of-module>
内置模块
NodeJS包括很多内置模块,一些内置模块的例子是:
- 定时器
- string_decoder
- 子程序(child_process
- 密码学
- Https
创建你自己的NodeJs模块
你可以轻松地创建你的node模块,并使用同一项目或不同应用程序的其他文件。为了开始,让我们先在一个文件夹里面,用npm创建一个新的node项目。因此,在你的代码编辑器的终端键入以下几行。
$ mkdir create_node_module
这将创建一个新的文件夹,现在我们需要使用以下命令进入该文件夹。
$ cd create_node_module
现在你已经在你创建的文件夹内,你可以使用命令启动一个新的node项目。
$ npm init
你会在你的控制台看到以下结果:

只要按照终端屏幕的指引,提供一个包的名称,作者的名字,等等。
最后,它会问你是否同意package.json文件。

输入yes 或按回车键。
创建一个新文件,命名为**"myfirstmodule.js"。在这个文件中,我们要存储关于超级汽车的信息,所以我们需要一个Car** 的数据结构,我们可以用下面几行代码来创建。
class Car {
constructor(name, model) {
this.name = name;
this.model = model;
}
}
接下来我们需要一个汽车列表,每个条目都映射到我们刚刚创建的数据结构上。
const allCars = [
new Car("McLaren", 2012),
new Car("Bugatti", 2020),
new Car("Ferrari", 2007),
new Car("Lambo", 2008),
new Car("Toyota", 1993),
new Car("Mustang", 2017),
];
接下来,我们想要一个函数,从我们的列表中随机挑选汽车。我们还需要使用关键字 "**exports "**导出这个函数,这样任何需要我们模块的文件都可以访问这个函数。使用以下几行代码。
exports.getRandomCar = () => {
return allCars[Math.floor(Math.random() * allCars.length)];
};
在同一文件夹中创建一个新文件,并将其命名为**"index js",**然后在该文件中输入以下一行。
const cars = require("./myfirstmodule");
这一行将在我们的index.js文件中包含我们的模块,我们现在可以使用**"cars "变量调用"getRandomCar()"**函数。
const randomCar = cars.getRandomCar();
剩下的最后一件事是使用随机选择的汽车的名称和型号 。我们通过使用下面的代码命令行来做到这一点。
console.log(
`Today's hot pick is the ${randomCar.name} of the year ${randomCar.model}`
);
现在我们要做的就是通过在终端输入以下命令来运行索引文件。
node index.js
你将在控制台看到以下结果:

就这样,你创建了你的第一个node模块,并在另一个文件中使用exports 和require 语句来使用它。如果你想走得更远,那么你可以在npm库中发布这个模块。
总结
Node模块相当于JavaScript库,这就是为什么创建新的node模块并不是一件难事。首先,你需要使用**"npm init "建立一个新的项目,然后你可以通过使用require** 和exports 关键字在另一个文件或应用程序中实现node模块。目前,我们只在一台机器内实现模块的使用,如果你愿意,你甚至也可以在npm库上发布你的模块。