Skip to content

术语表

kaixa edited this page Jul 24, 2022 · 5 revisions

Node.js

Node.js 是一个 JavaScript 运行时。Node.js 使 JavaScript 不再依赖于浏览器环节,而是运行在系统环境 (类似 Python),这使得 JavaScript 可以用于编写服务器程序或是其他工具程序。我们在开发过程中使用的 npm, pnpm 等工具都基于 Node.js。

运行时

运行时 (Runtime) ,或虚拟机,是解释执行代码的软件。不同于 C/C++ 这种编译型语言,JavaScript,Python 等脚本语言依赖运行时才可以在系统上运行。运行时读取脚本语言,将脚本语言解释为字节码 (bytecode),然后运行这些字节码。

可以认为运行时是一个虚拟的计算机,而字节码就是这个虚拟计算机的汇编指令。脚本语言的开发者会保证在不同的系统,不同架构的机器上提供一个行为相同的虚拟机,因此我们的字节码无需适配不同平台,即可到处运行。

npm

npm 是一个包管理工具,可以为项目安装由其他作者开发的程序包,通过这些程序包可以复用其他人开发好的功能,简化了开发复杂度。由于 npm 早期存在许多问题,社区还有 yarn,pnpm 作为包管理工具。通常它们都会兼容 npm 的指令。如:

当某个包写道,使用以下指令安装:

npm install xxx

通常你可以直接把 npm 替换成 yarn 或 pnpm

yarn install xxx
#
pnpm install xxx

依赖

广义上讲,当你的程序需要某个程序包 A 才能正常运行的时候,就会说:A 是你的程序的依赖。对于本项目,特指项目开发过程中引用的其他程序包,程序包可能来自 npm 或 monorepo。

monorepo

monorepo 是一个组合词,mono 表示“多个”,repo 表示“仓库”。monorepo 是一种新的项目组织形式,一个 git 仓库中同时存放多个 node 项目。

Clone this wiki locally