Node
Node 的配置和使用指南。
Node 的版本选择
- LTS 版本(长期支持版本):稳定版本,通常用于生产环境。
- Current 版本(当前版本):最新的主要版本,加入最新特性和改进,通常用于开发和测试。
安装配置
使用包管理器安装
包版本管理工具的主要好处在于帮助开发者更方便地管理多个版本的 Node 和 npm。
- nvm 最受欢迎的 Node 版本管理工具,适用于 macOS 和 Linux。
- nvm-windows
nvm的 Windows 版本,专为 Windows 开发者设计。 - fnm 也是 macOS 的优秀选择,具备轻量和高效的特点,适合那些不想耗费系统资源的开发者。
直接下载安装
sh
# 安装 unzip
sudo apt-get update && sudo apt-get install -y unzip
# 安装 fnm
curl -o- https://fnm.vercel.app/install | bash
# 重新加载环境
source /root/.bashrc
# 安装 Node.js
fnm install 22
# 验证 Node.js 版本
node -v # Should print "v22.18.0".
# 验证 npm 版本
npm -v # Should print "10.9.3".
# 启用 pnpm
corepack enable pnpm
sh
brew install node
sh
winget install --id=OpenJS.Nodejs
实用命令
- 删除所有
node_modules文件夹shfind . -name 'node_modules' -type d -prune -execdir rm -rf '{}' + - 递归删除
packages和internal目录下的dist文件夹,同时忽略node_modules目录shfind packages internal -path '*/node_modules/*' -prune -o -name 'dist' -type d -exec rm -rf {} + || true postinstall钩子在安装依赖后执行,可以用来执行一些构建操作,比如构建、设置环境或修复依赖关系。package.json{ "scripts": { "postinstall": "pnpm build", "build": "pnpm clean && pnpm -r -F='./packages/**' -F='./internal/**' run build", "clean": "find packages internal -path '*/node_modules/*' -prune -o -name 'dist' -type d -exec rm -rf {} + || true" } }
笔记
参数传递
- 当你使用
npm run命令时,如果你想要传递参数给你的脚本,你需要在参数前加上--, 例如:
sh
npm run gen:cc -- --path ol-cesium-map --name demo
这样,--path ol-cesium-map --name demo 就会被传递给你的脚本,而不是 npm run 命令。
- 使用
mri来解析这些参数:
index.ts
const argv = process.argv.slice(2)
const mriData = mri<MriData>(argv)
// mriData : { _: [], path: 'ol-cesium-map', name: 'demo' }
增加 node 内存限制
通过 --max_old_space_size 选项,你可以指定更大的内存使用限制,构建大项目时能有效避免内存不足导致的 JavaScript heap out of memory 错误
sh
export NODE_OPTIONS=--max_old_space_size=10240
或者在 package.json 中的 scripts 中指定:
package.json
{
"scripts": {
"build": "NODE_OPTIONS=--max_old_space_size=10240 react-scripts build"
}
}