V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wrebjmns
V2EX  ›  问与答

请问目前 Windows10 上的最佳前端开发环境是 vscode+docker+wsl2 吗?

  •  
  •   wrebjmns · 2021-09-18 10:53:27 +08:00 · 3379 次点击
    这是一个创建于 1192 天前的主题,其中的信息可能已经有所发展或是发生改变。

    18 年左右尝试了解 docker,当时个人得出的结论是适用于部署但不适用于开发,就没怎么深入学了。近期写了个需要调用 chrome 的程序给运维部署,结果运维那边折腾半天跑不起来。今日复盘分析总结发现,根本原因就是 ubuntu 和 windows 环境不一致造成的( ubuntu 默认无 chrome 依赖),而如果开发时用 docker 统一环境的话,就能规避掉这些问题。

    去网上大概看了一下,个人感觉目前最佳实践是 vscode+docker+wsl2? 也有一个 源代码放本地宿主机并挂载,依赖装在容器里 的方案。目前这两种方案都未实践过。研究过这方面实践的 V 友可以讲讲吗?

    22 条回复    2021-09-18 21:02:40 +08:00
    Bazingal
        1
    Bazingal  
       2021-09-18 10:58:34 +08:00
    用 wsl2 就没必要用 docker 了吧,源代码放宿主机的话磁盘性能不行,尤其是前端这种文件又多又小的
    wrebjmns
        2
    wrebjmns  
    OP
       2021-09-18 11:06:44 +08:00
    @Bazingal 等于说用 wsl2 的话,源代码直接放在 wsl2 中?不用 docker 的话,vscode 的 remote-container 如何使用?
    Bazingal
        3
    Bazingal  
       2021-09-18 11:11:45 +08:00   ❤️ 1
    @abiaqiou 对,用 remote-wsl
    ch2
        4
    ch2  
       2021-09-18 12:02:42 +08:00
    不需要 docker,node_modules 得保存在 WSL2 的 vhdx 里
    前端开发的话,wsl2 完美胜任,跟 linux/macos 体验一致
    zxCoder
        5
    zxCoder  
       2021-09-18 12:08:20 +08:00
    我是 webstorm+wsl
    TypeError
        6
    TypeError  
       2021-09-18 12:28:03 +08:00 via Android
    大部分 wsl2 可以胜任,
    小部分复杂依赖可以使用 docker 装
    Quarter
        7
    Quarter  
       2021-09-18 12:31:41 +08:00 via iPhone
    我觉得直接 vs code 就可以啦,不知道为啥要 docker 和 wsl 啊
    Elliota
        8
    Elliota  
       2021-09-18 13:07:36 +08:00 via Android
    我劝你别折腾,面相生产环境开发,折腾子系统的时间够你开几年的虚拟机了
    yEhwG10ZJa83067x
        9
    yEhwG10ZJa83067x  
       2021-09-18 13:09:52 +08:00
    vagrant
    byzf
        10
    byzf  
       2021-09-18 13:11:06 +08:00
    windows 上跑 wsl 消耗的资源,和跑一个 ubantu 虚拟机没有任何区别,甚至开虚拟机消耗的资源更少,而且 wsl 还有很多发行版跑不了,再加上 wsl 上各方面的环境和发行版还是有区别,这个用过 wsl 都能感受到。微软只是用这个东西来挖墙脚,里面掺点私活,并没有想真的拥抱 linux 。

    docker 解决了你什么问题呢? docker 在 windows 上跑 ubantu 的时候,底层也是跑了个虚拟机,开销不小。说白了你 windows 上开发一个软件,ubantu 上都没测试过就扔给运维去部署,合适吗,我觉得你这个还是测试流程和依赖管理的问题,和用什么工具关系不大。

    如果你机器是 windows 的,肯定还是在 windows 上开发、debug 是最高效的,直白的说就是你编译一次是一分钟还是五分钟的问题。正常来说你开发管开发,开发完了进入测试流程以后才会用到 docker 。
    inhzus
        11
    inhzus  
       2021-09-18 13:12:26 +08:00 via iPhone
    wsl 有各种各样的问题,建议直接用 hyper-v/虚拟机,然后把桌面映射出来,见我之前的分享 https://v2ex.com/t/778002#reply30
    wrebjmns
        12
    wrebjmns  
    OP
       2021-09-18 13:44:40 +08:00
    @byzf 是的,我第一次接触 docker 的时候,感觉这东西应该是给运维使用的。项目组无测试,我也不太熟悉 Linux 相关的相关依赖。这样看的话,docker 只是帮我解决了部署前的测试问题。
    yuningWang8
        13
    yuningWang8  
       2021-09-18 13:56:34 +08:00
    wsl ( 2 )用了一年多,前端没问题。
    murmur
        14
    murmur  
       2021-09-18 14:57:58 +08:00
    前端不用 docker 就是装 vs 编译器和 nodegyp 就可以,没遇到什么坑,毕竟是原生 windows,terminal 用 windows terminal 那个微软的 app,好看
    byzf
        15
    byzf  
       2021-09-18 15:28:43 +08:00
    @yuningWang8 前端就算不用 wsl2,用 windows 开发也根本不会有任何问题。
    shyling
        16
    shyling  
       2021-09-18 16:35:54 +08:00
    前端直接用 windows 版 node 一般也没啥问题啊
    lin07hui
        17
    lin07hui  
       2021-09-18 16:48:55 +08:00
    vscode + node + PowerShell 7,vue create hello-world 开始撸码
    wunonglin
        18
    wunonglin  
       2021-09-18 16:53:25 +08:00
    累不累啊
    james2013
        19
    james2013  
       2021-09-18 17:40:40 +08:00
    webstorm 很香
    通用的操作方法,让我在 webstorm,idea,android studio,pycharm 等 ide 中无缝衔接
    everyx
        20
    everyx  
       2021-09-18 20:22:19 +08:00
    Win10 + WSL2 + VSCode + Devcontainer 太卡了,已换 Arch Linux,丝般顺滑
    ReferenceE
        21
    ReferenceE  
       2021-09-18 20:46:04 +08:00 via Android   ❤️ 1
    等你因为 wsl2 是完全隔离的虚拟机,折腾网络环境折腾得死去活来的时候,我再来看一遍
    hjc4869
        22
    hjc4869  
       2021-09-18 21:02:40 +08:00
    @byzf Win11 上 WSL2 能做到 VM 内 linux 进程释放内存后宿主机秒回收,开销比直接装虚拟机好太多了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:11 · PVG 22:11 · LAX 06:11 · JFK 09:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.