求教 win 下做 nodejs react 前后端开发的最佳姿势是什么?用 docker 合适吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
raw0xff
V2EX    Node.js

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

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

    开发内容: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     Solana     3362 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 04:50 PVG 12:50 LAX 20:50 JFK 23:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86