nvm 的 Windows 版本,专为 Windows 开发者设计。# 安装 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
brew install node
winget install --id=OpenJS.Nodejs
node_modules 文件夹find . -name 'node_modules' -type d -prune -execdir rm -rf '{}' +
packages 和 internal 目录下的 dist 文件夹,同时忽略 node_modules 目录find packages internal -path '*/node_modules/*' -prune -o -name 'dist' -type d -exec rm -rf {} + || true
postinstall 钩子在安装依赖后执行,可以用来执行一些构建操作,比如构建、设置环境或修复依赖关系。{
"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 命令时,如果你想要传递参数给你的脚本,你需要在参数前加上 -- , 例如:npm run gen:cc -- --path ol-cesium-map --name demo
这样,--path ol-cesium-map --name demo 就会被传递给你的脚本,而不是 npm run 命令。
mri 来解析这些参数:const argv = process.argv.slice(2)
const mriData = mri<MriData>(argv)
// mriData : { _: [], path: 'ol-cesium-map', name: 'demo' }
通过 --max_old_space_size 选项,你可以指定更大的内存使用限制,构建大项目时能有效避免内存不足导致的 JavaScript heap out of memory 错误
export NODE_OPTIONS=--max_old_space_size=10240
或者在 package.json 中的 scripts 中指定:
{
"scripts": {
"build": "NODE_OPTIONS=--max_old_space_size=10240 react-scripts build"
}
}