关于前端 node 多版本你是如何解决的,还有您是本地开发还是远程开发

61 天前
 jenson47

随着不同年代的项目,由于依赖的限制,有些支持的 node 版本比较低,有些又需要比较高。

目前网上大家的解决方案:

  1. window nvm 多版本管理
  2. n

如果我想要同时开多个项目的话,就比较麻烦,而且每次都得来回切换。 目前的我的开发都尽量避免在本地环境开发,毕竟没有几个公司能给你 64GB 的内存

Docker 解决 Node 多版本问题

优点:

  1. 再也不需要手动去切
  2. 将需求通过 Dockerfile 写好,后续只需要构建,构建的命令写成 shell ,比如我通过 Makefile
  3. 通过目录挂载解决模块缓存问题
  4. 由于在口罩期间,刚好可以结合远程开发

缺点:

  1. 运行时得调用 docker 命令
  2. 还得配置一堆变量挂载,映射端口
  3. 尤其是后面的有些项目都不去认这个 PORT 环境变量了,得自行修改调整

经过我这两年的项目实践,我将docker node 多版本操作进行了整理

  1. 将操作 docker 的命令这些封装成 shell
  2. 环境变量 刚好放到 .env.development中,比如后端 ip 域名,暴露端口等
  3. 运行,直接运行 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 官网的教程

简单教程:

  1. 新开一个 vscode [ ctrl + shift + n ]
  2. 连接到服务器 [ ctrl + shift + p ] + [ connect to host ]
  3. 如果还没配置,则选择 Add New SSH Hosts 去添加即可
  4. 连接成功后,如果没有选择项目目录,则可以自行选择
4970 次点击
所在节点    Node.js
62 条回复
unco020511
58 天前
我给你一个思路,同样的问题,gradle 的解决方案是 Gradle Wrapper,理论上应该有一个 node Wrapper 来自动处理这个事情
giserman001
51 天前
@foam win 切换不了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1058772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX