如何在不修改全局package.json的情况下覆写scripts脚本?
可行的本地覆写方案
不用修改项目根目录的package.json,你可以用以下几种本地专属的方法来实现内存配置的添加,完全不会影响协作成员:
1. 直接在终端运行修改后的命令
跳过package.json里的脚本,直接执行带内存参数的命令:
node --max-old-space-size=9000 yarn dev:build
如果觉得每次敲太长,可以把这个命令存成一个本地的shell脚本(比如local-dev.sh),内容就是上面的命令,然后给脚本加执行权限:
chmod +x local-dev.sh
之后每次运行./local-dev.sh就行,记得把这个脚本加入.gitignore,避免提交到仓库。
2. 利用环境变量传递内存参数
大多数Node.js相关工具会读取NODE_OPTIONS环境变量,你可以在运行命令时临时设置:
NODE_OPTIONS="--max-old-space-size=9000" yarn dev
这个方法的好处是不用修改原来的yarn dev命令,只是在前面加了环境变量。如果想让这个配置永久生效(仅在你的本地终端),可以把环境变量加到你的shell配置文件里(比如~/.bashrc或~/.zshrc):
export NODE_OPTIONS="--max-old-space-size=9000"
保存后执行source ~/.bashrc(或对应的zsh配置文件),之后再运行yarn dev就会自动带上内存参数了。
3. 创建终端别名
在你的shell配置文件里添加一个别名,把长命令简化:
alias my-dev='NODE_OPTIONS="--max-old-space-size=9000" yarn dev'
保存并生效后,每次只需要敲my-dev就能运行带内存配置的开发命令,非常方便。同样,这个配置只在你的本地终端生效,不会影响团队其他成员。
内容的提问来源于stack exchange,提问作者Yasin Yaqoobi
相关产品推荐
相关产品推荐

