搞js/ts开发,node是躲不开的,必须配置开发环境。所以这里快速过一下Node的基本使用。
一、简单过一下Node的概念
很多人误以为 Node.js 是新语言,其实它只是给 JavaScript 提供了脱离浏览器的运行环境,让 JS 能做后端开发、操作文件这些事。核心要点就三点:
1. Node到底是什么?
简单说,Node.js 是基于 Chrome V8 引擎的 JS 运行时环境。你可以这么理解:JS 本身是剧本,Node.js 就是能演剧本的舞台,而 V8 引擎是舞台上的核心演员,负责快速执行 JS 代码。另外,Node.js 还像个翻译官,把我们写的 JS 代码(普通话)翻译成 Windows、macOS 这些系统能懂的指令,这就是它跨平台的原因。
类比一下更好懂:Java 要靠 JVM 运行,PHP 要靠 Apache+解释器,Node.js 就是 JS 的"JVM",让它能脱离浏览器独立跑。
2. 官网与版本选择:避坑指南
官方地址是 nodejs.org,国内访问慢点但安全,所有安装包、文档都在这。版本分两种,选对不踩坑:
|------------------------|--------------------|---------------------|
| 版本类型 | 核心特点 | 使用建议 |
| LTS(长期支持版) | 稳定、bug 修复及时、API 稳定 | 优先选!项目开发、线上环境都用这个 |
| Latest Features(最新特性版) | 有最新功能、支持新 JS 特性 | 只用来尝鲜、测试新功能,别用在生产环境 |
3. 不推荐直接装官方包的原因
直接从官网装会有两个麻烦:一是版本切换不方便,比如老项目要 Node 16,新项目要 20,得反复卸载重装,还容易出冲突;二是下载慢,官网服务器在国外,国内网速经常只有几十 KB/s。后面讲的版本管理工具能解决这些问题。
4. 补充:版本号怎么看?
Node.js 用语义化版本,比如 v20.10.0,20 是主版本(大更新可能不兼容),10 是次版本(加新功能兼容旧版),0 是补丁版本(只修 bug)。LTS 是主版本稳定后的版本,比如 v18 LTS、v20 LTS。
二、版本管理工具:nvm 一键切换版本
nvm(Node Version Manager)就是专门管 Node 版本的工具,能在一台电脑上快速装、切换、卸载不同版本,解决多项目版本不兼容的问题。Windows 版叫 nvm-windows,和 Mac/Linux 用法差不多,重点说下安装和核心命令。
1. 分系统安装要点
(1)Mac 系统
没有官方安装包,用国内加速脚本装:复制 curl -o- https://gitee.com/mirrors/nvm/raw/master/install.sh | bash到终端运行。装完后要配置 .profile 文件(用户根目录),添加 nvm 路径和国内镜像,再运行 source ~/.profile 生效。运行 nvm -v 能看到版本号就是装成了。
(2)Windows 系统
去国内加速地址 https://www.nvmnode.com 下载 setup.zip,解压后安装。注意选有读写权限的目录(比如 C:\nvm),别选 C:\Program Files。装完后新建系统环境变量,变量名 nvm_node_js_org_mirror,值 https://npmmirror.com/mirrors/node/,重启终端后用 nvm -v 验证。
2. 核心使用命令(通用)
-
验证命令:运行
nvm,能看到所有可用命令就没问题; -
装指定版本:
nvm install 20.10.0(可省略 v),装完用nvm use 20.10.0切换(Windows 要管理员终端),node -v能看到版本号就是切换成了; -
看版本列表:
nvm list看本地已装版本,Mac/Linux 用nvm ls-remote看官方所有版本,Windows 用nvm list available; -
别名简化:
nvm alias latest 20.10.0给版本起别名,nvm alias default 20.10.0设置默认版本; -
卸载版本:
nvm uninstall 18.18.2,注意不能卸载当前在用的版本。
三、包管理工具:从 npm 到 pnpm 怎么选?
包管理工具负责装、更、卸项目依赖,从 npm 到 yarn 再到 pnpm,都是为了解决"慢、占空间、冲突"这些问题。核心结论先给:优先用 pnpm,国内用要切淘宝镜像。
1. 三款工具对比
(1)npm:基础款
Node 自带的,生态最基础,但缺点明显:装依赖是串行的,慢;会重复下载依赖,node_modules 很大。适合简单小项目或项目明确要求用 npm 的情况。
(2)yarn:优化款
为解决 npm 痛点来的,并行装依赖,快;扁平化管理依赖,减少重复;用 yarn.lock 锁版本。注意要单独配国内镜像,不然下载慢。适合项目明确要求用 yarn 的情况。
(3)pnpm:高效款(优先推荐)
最牛的是省空间:下载过的包会全局缓存,后续项目直接用链接指向缓存,不重复下;速度和 yarn 差不多,还原生支持 monorepo(一个仓库管多个子项目),命令和 npm/yarn 兼容,上手无压力。追求性能、省空间就选它。
2. 步骤
核心是切淘宝镜像,推荐用 nrm 管理,步骤很简单:
-
装 cnpm:
npm install -g cnpm,淘宝官方的镜像工具,装东西比 npm 快; -
装 nrm:
cnpm install -g nrm,镜像切换器; -
切淘宝源:
nrm use taobao,用npm config get registry验证;发布包时切回官方源nrm use npm; -
装 yarn 和 pnpm:
cnpm install -g yarn pnpm,装完后 yarn 和 pnpm 要单独配淘宝镜像(yarn config set registry https://registry.npmmirror.com、pnpm config set registry https://registry.npmmirror.com)。
3. pnpm 核心用法(快速上手)
命令和 npm/yarn 差不多,记几个常用的:
-
初始化项目:
pnpm init -y,和 npm/yarn 效果一样; -
装依赖:
pnpm add axios(生产依赖)、pnpm add eslint -D(开发依赖)、pnpm i(装所有依赖); -
运行脚本:package.json 里配好脚本后,直接
pnpm dev、pnpm build,不用加 run; -
monorepo 管理:新建根项目,创建 pnpm-workspace.yaml 写
packages: ['packages/*'],再在 packages 文件夹下建子项目即可。根目录用pnpm add lodash -w装公共依赖,pnpm add vue --filter web给指定子项目装依赖。
总结
Node.js 生态核心就是三件套:Node.js 本身让 JS 脱离浏览器运行,优先选 LTS 版;nvm 解决多版本切换问题,分系统装完配好镜像;包管理优先选 pnpm,国内用 nrm 切淘宝镜像,效率最高。跟着上面的步骤实操一遍,就能快速搭好稳定的 Node.js 开发环境了。