共计 753 个字符,预计需要花费 2 分钟才能阅读完成。
随着不同年代的项目,由于依赖的限制,有些支持的 node 版本比较低,有些又需要比较高。
目前网上大家的解决方案:
- window nvm 多版本管理
- n
如果我想要同时开多个项目的话,就比较麻烦,而且每次都得来回切换。
目前的我的开发都尽量避免在本地环境开发,毕竟没有几个公司能给你 64GB 的内存
Docker 解决 Node 多版本问题
优点:
- 再也不需要手动去切
- 将需求通过 Dockerfile 写好,后续只需要构建,构建的命令写成 shell,比如我通过 Makefile
- 通过目录挂载解决模块缓存问题
- 由于在口罩期间,刚好可以结合远程开发
缺点:
- 运行时得调用 docker 命令
- 还得配置一堆变量挂载,映射端口
- 尤其是后面的有些项目都不去认这个 PORT 环境变量了,得自行修改调整
经过我这两年的项目实践,我将 docker node 多版本 操作进行了整理
- 将操作 docker 的命令这些封装成 shell
- 环境变量 刚好放到 .env.development中,比如后端 ip 域名,暴露端口等
- 运行,直接运行 shell 脚本,当然为了让脚本更简洁,我将常用的命令封装成 Makefile
具体实例请查看:https://github.com/miss55/docker-node/blob/main/README-zh.md#%E4%BE%8B%E5%AD%90
配合 vscode 的 Remote 扩展 进行远程开发
搜索 vscode 扩展,关键字: Remote Development
,看着自己的需求添加相应的扩展即可
具体教程可以参考vscode 官网的教程
简单教程:
- 新开一个 vscode [ctrl + shift + n]
- 连接到服务器 [ctrl + shift + p] + [connect to host]
- 如果还没配置,则选择 Add New SSH Hosts 去添加即可
- 连接成功后,如果没有选择项目目录,则可以自行选择
正文完