V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
raw0xff
V2EX  ›  Node.js

求教 win 下做 nodejs react 前后端开发的最佳姿势是什么?用 docker 合适吗?

  •  
  •   raw0xff · 2022-11-02 14:02:18 +08:00 · 6444 次点击
    这是一个创建于 777 天前的主题,其中的信息可能已经有所发展或是发生改变。

    开发内容:node 服务端的简单处理和 react 的前端 ui 。

    不想在本机环境下装 node ,一方面是安全考虑,另一方面是想偶尔换个系统的话 docker comit 一下也方便。

    我是这么想的: docker 运行 ubuntu 镜像里装 node ,用本地 vscode 通过远程 wsl 在 docker 中编辑调试,然后本机浏览器访问 wsl 查看。

    不知道姿势是否正确,会有坑吗?请大佬们纠正。

    23 条回复    2022-11-10 02:18:11 +08:00
    Jarvis666
        1
    Jarvis666  
       2022-11-02 15:32:44 +08:00
    可以,但没必要
    raw0xff
        2
    raw0xff  
    OP
       2022-11-02 15:35:45 +08:00
    @Jarvis666 大佬是怎么操作的?
    Jarvis666
        3
    Jarvis666  
       2022-11-02 15:43:01 +08:00
    @raw0xff 我觉得直接本地开发或者用一个 Linux 虚拟机比较好
    lmshl
        4
    lmshl  
       2022-11-02 15:50:14 +08:00
    在 WSL2 里开发,node 版本交给包管理器去管理
    raw0xff
        5
    raw0xff  
    OP
       2022-11-02 15:51:23 +08:00
    @Jarvis666 用 hyper-v 虚拟个 ubuntu server 跟开个 docker 跑容器没啥区别吧。ubuntu desktop 装完依赖又消耗好多个 G 。
    raw0xff
        6
    raw0xff  
    OP
       2022-11-02 15:52:03 +08:00
    @lmshl 用什么 IDE ?
    bthulu
        7
    bthulu  
       2022-11-02 15:58:36 +08:00
    你都说不想在本机环境下装 node ,那为什么要在本地环境下装 vs code 呢
    lmshl
        8
    lmshl  
       2022-11-02 16:01:00 +08:00
    VSCode 链接进去就行了。
    docker for windows 也是要用 hyper-v 先虚拟个 Linux 环境出来,而且现在版本已经是在 WSL2 里运行 docker-engine ,外部客户端通信的形式了。
    yaphets666
        9
    yaphets666  
       2022-11-02 16:02:03 +08:00
    挺纳闷的,为什么不在本机装 nodejs ? 在 v2 已经看到过很多人,要折腾一大圈去搞这些东西了,完全没任何意义啊
    raw0xff
        10
    raw0xff  
    OP
       2022-11-02 16:14:57 +08:00
    @bthulu 不想装 node 是不想暴露太多本机端口
    raw0xff
        11
    raw0xff  
    OP
       2022-11-02 16:16:30 +08:00
    @lmshl 恍然大悟。新建个 wsl2 环境也行是吧?
    bthulu
        12
    bthulu  
       2022-11-02 16:47:11 +08:00
    @raw0xff windows 防火墙是干嘛吃的, 怎么会暴露端口?
    zhuangzhuang1988
        13
    zhuangzhuang1988  
       2022-11-02 16:50:41 +08:00
    @yaphets666 路径依赖
    alexsunxl
        14
    alexsunxl  
       2022-11-02 16:54:03 +08:00
    wsl2 吧,现在已经非常好用了。systemd 都能开了
    libook
        15
    libook  
       2022-11-02 17:24:29 +08:00
    一般会在 WSL2 内装 node ,然后外面用 VSCode 连进去开发。
    我喜欢用 IntelliJ ,在 Windows 上装了个 XServer ,然后在 WSL2 里面装 IntelliJ ,可以显示界面进行开发。
    Windows 上的 Docker desktop 很难用,可以用系统自带的 Hyper-V 虚拟机跑个轻量级的 Linux 用来做 Docker Host ,只需要在 WSL2 里配置一个 DOCKER_HOST 的环境变量就可以用 Docker CLI 直接操作了。
    ysc3839
        16
    ysc3839  
       2022-11-02 17:27:45 +08:00
    担心安全问题的话就虚拟机 Ubuntu Server 或者 Docker 。WSL 默认会暴露一些东西出去,保证不了安全。
    murmur
        17
    murmur  
       2022-11-02 17:28:08 +08:00
    就用 windows ,干嘛 wsl
    Envov
        18
    Envov  
       2022-11-02 17:35:16 +08:00
    之前用 win 的时候 wsl+vscode 挺好的,装了 zsh 终端体验很不错
    Jarvis666
        19
    Jarvis666  
       2022-11-02 17:52:29 +08:00
    @yaphets666 折腾这么多环境就是不写代码,哈哈哈哈
    其实现在好多编程开发根本用不到 Linux ,跨平台做得相当不错了
    Jarvis666
        20
    Jarvis666  
       2022-11-02 18:02:28 +08:00
    我想了一下,觉得最佳姿势应该是安装一个黑苹果,下载 docker desktop ,启动一个 Ubuntu 镜像,ssh 进去用 vim 编写 JavaScript 代码!
    raw0xff
        21
    raw0xff  
    OP
       2022-11-02 23:12:32 +08:00
    @Jarvis666 折腾这么多环境就是不写代码,说的就是我
    zoeeer
        22
    zoeeer  
       2022-11-10 00:26:58 +08:00
    用 docker 跑 node 镜像,把本地代码和其他要用的东西挂载进容器。这样 vscode 直接本地编辑代码,在容器中也能即时更新。
    相当于用 docker 替代了 nvm 之类的 node 环境管理。
    raw0xff
        23
    raw0xff  
    OP
       2022-11-10 02:18:11 +08:00
    @zoeeer 赞。目前我用 wsl 装了多个 ubuntu ,启动时不用设置网络不用绑定端口不用挂载。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1260 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:46 · PVG 01:46 · LAX 09:46 · JFK 12:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.