Featured image of post 【Node.js + TypeScript】学习笔记

【Node.js + TypeScript】学习笔记

系统性学习记录 Node.js + TypeScript,包含环境配置、基础用法、实践案例、问题解决与开发技巧

【Node.js + TypeScript】实操笔记

1. 简单介绍

  • Node.js 是基于 V8 引擎的 JavaScript 运行环境,可在服务器端执行 JS/TS
    • nvm 是 Node 版本管理工具,方便切换不同项目的 Node 版本
    • pnpm 是高效的包管理器,替代 npm/yarn,节省磁盘空间和安装时间
  • TypeScript 是 JavaScript 的超集,提供类型系统和编译时检查
  • 常见应用场景:Web 后端服务、CLI 工具、前端构建工具、插件化平台

2. 前置技术依赖

  • 熟悉 JavaScript 基础语法
  • 对 Linux / WSL2 命令行基础了解

3. 环境配置

  • 系统环境:Windows + WSL2(推荐 Linux 内核一致性)
  • Node 版本管理:nvm 安装 Node,切换版本
  • 包管理器:推荐 pnpm,安装与验证:

  • VS Code 配置

    • 安装 Remote-WSL 插件
    • 安装 TS / Node 插件,启用自动类型提示

4. 基础用法

4.1 Node.js 基础

4.1.1 Node.js 安装与基于 nvm 的版本管理

4.1.1.1 Node.js 安装
  • 类似于 python 的 conda,nvm(Node Version Manager)是一个用于管理多个 Node.js 版本的工具。它允许你在同一台机器上安装和切换不同版本的 Node.js,非常适合开发者在不同项目中使用不同版本的 Node.js。

  • 类似于 python 的 pip,pnpm 是一个高效的 JavaScript 包管理器,提供了更快的安装速度和更少的磁盘空间占用。它通过使用符号链接来共享依赖项,从而避免了重复安装相同的包。

Node.js 官网 提供了 Node.js 的安装命令,在选择了 系统环境Node 版本管理器包管理器Node.js 版本后,可以直接复制命令在终端中执行。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 以在 WSL(Ubuntu24.04)下安装使用 nvm 进行版本管理并使用 pnpm 管理包的 Node.js 25.x 为例:

# 下载并安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# 代替重启 shell
\. "$HOME/.nvm/nvm.sh"

## 若无效报错则重启 shell 继续后面的步骤

# 下载并安装 Node.js:
nvm install 25

# 验证 Node.js 版本:
node -v # Should print "v25.6.1".

# 安装 Corepack:
npm install -g corepack

# 下载并安装 pnpm:
corepack enable pnpm

# 验证 pnpm 版本:
pnpm -v

值得注意的是,nvm 和 pnpm 的安装步骤可能会因操作系统和环境的不同而有所差异,详见[nvm 和 pnpm 的安装注意事项](# 7.1-nvm-和-pnpm-的安装注意事项)。

4.1.1.2 Node.js 常用命令
4.1.1.3 nvm 常用命令
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 列出已安装的 Node.js 版本及别名
nvm ls

# 列出在线可安装的 Node.js 版本
nvm ls-remote

# 安装指定版本的 Node.js
nvm install <version>
## nvm install 25

# node 为最新版本的别名
nvm install node

# 设置别名
nvm alias my_alias v14.4.0

# 使用指定版本的 Node.js
nvm use <version>

# 卸载指定版本的 Node.js
nvm uninstall <version>

# 显示当前使用的 Node.js 版本
nvm current

# 获取 nvm 的安装路径
nvm which <version>

# 在指定版本下运行简单命令
nvm run <version> -- <command>
# 在指定版本下运行复杂命令
nvm exec <version> <command>

4.1.2 基于 pnpm 的包管理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14



---

## 5. 实践案例

* **搭建小型 API 服务**

  ```ts
  import express, { Request, Response } from 'express';
  const app = express();
  app.get('/ping', (req: Request, res: Response) => res.send('pong'));
  app.listen(3000, () => console.log('Server running on port 3000'));
  • Docker 容器化运行

    1
    2
    3
    4
    5
    6
    
    FROM node:18-alpine
    WORKDIR /app
    COPY package.json pnpm-lock.yaml ./
    RUN npm install -g pnpm && pnpm install
    COPY . .
    CMD ["npx", "ts-node", "src/index.ts"]
    
  • 实践经验

    • 使用 pnpm 速度快、占用少
    • 在 WSL2 中开发,Docker 与 Linux 环境一致

6. 常见问题与解决办法


7. Tips

7.1 nvm 和 pnpm 的安装注意事项

由于 Node.js 25.x 版本的最新更新,Corepack 在 Node.js 25.x 中已被移除,因此需要手动安装 Corepack 来使用 pnpm 包管理器。

在 Node.js 25.x 中安装 pnpm 的步骤比 Node.js 24.x 多了一步:

``bash

安装 Corepack:

npm install -g corepack

1
2
3
4
5
6
7

---

## 8. 参考资料

- [Node.js 官网](https://nodejs.org/)
- [nvm GitHub 仓库](https://github.com/nvm-sh/nvm)
潇洒人间一键仙
使用 Hugo 构建
主题 StackJimmy 设计