随着Web开发技术的发展,JavaScript 已经从一种主要用于浏览器端脚本的语言成长为一种全栈开发语言,能够处理从前端到后端的所有需求。这种转变很大程度上得益于Node.js的出现。 Node.js 是一个开源的跨平台JavaScript运行时环境,用于在服务器端执行JavaScript代码。它基于Chrome V8 JavaScript引擎构建,使得开发者能够在服务器端使用JavaScript编写高性能的应用程序。
CommonJS 模块
CommonJS 规定了一个标准,用于在Node.js环境中定义和使用模块。它基于文件的概念,每个文件就是一个模块。模块可以导出函数、对象或原始值,以便其他模块可以使用它们。
- 使用
require
加载模块
在Node.js中,可以使用 require
函数来加载和使用模块。require
函数接受一个字符串参数,该字符串表示要加载的模块的路径。
假设我们有一个名为 1.js
的文件:
css
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
module.exports = {
add,
subtract
};
在这个文件中,我们定义了两个函数 add
和 subtract
并用module.exports
将它们导出。
接下来,在另一个文件 2.js
中,我们可以使用 require
来加载 1.js
模块,并使用其中的函数:
javascript
const math = require('./1');
console.log(math.add(10, 5)); // 输出: 15
console.log(math.subtract(10, 5)); // 输出: 5
在这个文件中,我们首先通过 require
加载了 1.js
文件,并将其赋值给 1
变量。然后我们可以通过这个变量访问模块中导出的对象和函数。
- 使用
module.exports
和exports
在CommonJS模块中,module.exports
和 exports
都是用来导出模块成员的关键字。通常来说,module.exports
用来替换整个对象,exports
添加对象进行抛出
ini
module.exports = {
add,
subtract
};
export.add = add
export.subtract = subtract
ES Module 模块
ES Modules(通常称为ESM)是ECMAScript 2015 (ES6) 引入的一项新特性,它为JavaScript定义了一种模块化标准。ES Modules允许你使用 import
和 export
语句来导入和导出模块的成员。
- 使用
import
和export
创建模块 继续用上面的1.js
和2.js
文件:
javascript
// 1.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}
在这个文件中,我们定义了两个函数 add
和 subtract
并分别将它们导出。
接下来,在另一个文件 app.js
中,我们可以使用 import
来加载 math.js
模块,并使用其中的函数:
javascript
// 2.js
import { add, subtract } from './1';
console.log(add(10, 5)); // 输出: 15
console.log(subtract(10, 5)); // 输出: 5
在这个文件中,我们通过 import
语句加载了 math.js
文件,并指定了要从该模块导入的成员。然后我们可以通过这些导入的成员来调用函数。
- 默认导出
javascript
// 1.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}
将整个1.js
模块作为对象默认导出。
javascript
// 2.js
import { add, subtract } from './1';
console.log(add(10, 5)); // 输出: 15
console.log(subtract(10, 5)); // 输出: 5
通过import { add, subtract } from './1';
导入这个对象。
NPM
- npm list
npm list
:列出你当前已经安装了的node版本。
- npm uninstall
npm uninstall
:卸载你想卸载的node版本。
- npm install -g --全局安装包
npm install -g
:用于全局安装 Node.js 包。
- *npm use:
npm use
:使用你想使用的node版本。
- yrm ls
yrm ls
:列出当前项目中安装的依赖包及其版本。
- npm config get registry
npm config get registry
:用于查看当前 Node.js 项目的 npm 配置中设置的 npm 登录注册表(registry)URL。这个URL指定了npm客户端将从哪个源下载包或向哪个源上传包。
- yrm use
yrm use
:使用你想要使用的源进行使用。