JavaScript¶
环境搭建¶
我使用 Mise + VSCode 搭建开发环境,Mise 用于管理工具链,VSCode 用于编写代码。
获取工具链¶
JavaScript 的运行时一般选择 nodejs,不过 deno、bun 也是不错的。浏览器的控制台里也可以运行 JavaScript 代码,如果只是想写点浏览器脚本发到 GreasyFork,甚至都没必要本地搭建环境
如果不需要管理运行时版本,那么通过 scoop 直接安装即可,这默认会下载最新版
scoop install nodejs
# deno 和 bun 安装方式是一样的
scoop install deno
scoop install bun
如果有管理运行时版本的需要,则可以安装专门的工具,比如 nvm 可以用来管理不同版本的 nodejs。不过我个人更喜欢 mise,这是一个可以管理多种语言运行时版本的工具。对于 JavaScript,它支持管理 nodejs、deno、bun 的运行时版本
mise 的以下命令可以安装并使用不同版本的运行时
# 使用 node latest
mise use -g node
# 使用 node lts
mise use -g node@lts
# 使用 node 20
mise use -g node@20
# 使用 deno latest
mise use -g deno
# 使用 bun latest
mise use -g bun
编辑器集成¶
对于 JavaScript,VSCode 几乎是开箱即用的,不需要安装任何额外拓展
命令行工具¶
包管理器¶
- npm
nodejs的官方包管理器 - pnpm 改进的
npm,优点是更快和更节省硬盘空间 - ncu 增加了
npm没有的功能。它会检查package.json文件,然后列出所有可以更新的依赖,也可以加个-u参数一键更新。不过这个工具只更新package.json文件,还要重新运行npm install来安装新版本的依赖
静态检查和格式化¶
- ESLint 代码静态检查
- Prettier 格式化
- Biome ESLint 和 Prettier 的结合体,由于使用 Rust 编写所以速度非常快
调试¶
- nodemon 文件监视,并在更改后重新运行,让开发更方便
- cross-env 用了设置环境变量的工具,可以自动识别不同系统和不同 Shell,用起来很省心
代码生成工具¶
- Yeoman 快速搭建起项目骨架,有许多社区维护的生成器可选择
库和框架¶
测试框架¶
- Vitest 单元测试框架
- Jest 也是单元测试框架
网络请求¶
- Axios 一个语法简单的网络请求库
状态管理¶
- Redux 一个用于全局状态管理的库
轻型实用库¶
- dotenv 加载 .env 文件的
- lodash 使用 JavaScript 库,让数组、对象等操作更加简单