• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yazoox
V2EX  ›  程序员

旧事重提 - 大家创建一个新的正式项目,是用 create-react-app, eject 后改改配置还是自己搭,或者有更好的 boilerplate 推荐使用?

  •  
  •   yazoox · Apr 30, 2020 · 5394 views
    This topic created in 2380 days ago, the information mentioned may be changed or developed.

    刚才搜索了一下,貌似有个 2017 的帖子讲这个。前端变化快,大家都知道。

    现在 2020 年了,如果创建一个正式项目,前端,还是 react & typescript,更复杂点比如再加上( redux/saga/mobx,等等)。

    大家是用 facebook 的 create-react-app,然后npm run eject,还是自己搭配呢?或者,有没有比较好的 boilerplate 推荐一下?

    谢谢!

    另,祝大家五一节目快乐!

    p.s. 本人自己用 create-react-app 试过,eject 后,感觉好"繁杂"...... p.s. 好痛苦......

    28 replies  •  2020-05-14 20:45:57 +08:00
    fancy2020
    fancy2020
    Apr 30, 2020
    1
    同样被这个问题困扰过,后来自己弄了个精简版的 boilerplate 项目:
    https://github.com/fanchangyong/react-express-starter-kit
    yuang
    yuang
    Apr 30, 2020 via Android
    2
    建议不要 eject,eject 出来的配置太过复杂,改的头大,还不如重新用 webpack 搞
    FreMaNgo
    FreMaNgo
    Apr 30, 2020
    3
    用 cra + react-app-rewired + customize-cra
    randyo
    randyo
    Apr 30, 2020 via Android
    4
    eject
    Hanggi
    Hanggi
    Apr 30, 2020
    5
    ng new app
    lichenshuai12138
    lichenshuai12138
    Apr 30, 2020
    6
    @Hanggi hhhh
    well
    well
    Apr 30, 2020
    7
    脚手架:react-boilerplate
    git clone --depth=1 github.com/react-boilerplate/react-boilerplate.git
    hantsy
    hantsy
    Apr 30, 2020
    8
    react & typescript 还是用 CRA 生成 TS 项目。

    添加 ESLINT,Prettier 支持。https://dev.to/robertcoopercode/using-eslint-and-prettier-in-a-typescript-project-53jb

    不过,话说回来,TS 和 React 一起用感觉完全不如 Angular 中那么舒服。React 一直在改进 Hooks,但其重心一直是 Function,而不是 OOP 编程体验。对于 OOP 写法,在 React 中一直不受待见,作用 TS 唯一借用 TS 的 Strong Type 代替 Flow 类型检测而已。
    hantsy
    hantsy
    Apr 30, 2020
    9
    不知道 React Create APP 有没有类似 Angular semantics 的机制,就我试用 RCA 的体验,感觉 RCA 出来的项目,添加其它配置也是比较麻烦的。
    ccraohng
    ccraohng
    Apr 30, 2020 via Android
    10
    umijs
    lqzhgood
    lqzhgood
    Apr 30, 2020
    11
    CRA 好难受~~ eject 一时爽 后面更难受……
    woniuppp
    woniuppp
    Apr 30, 2020
    12
    umi
    uxstone
    uxstone
    Apr 30, 2020
    13
    参考 CRA 中的 react-scripts 和 templates,自己定制两个 npm 包
    以后项目更新也只要修改版本号就行了

    原则上就是不要暴露太多与业务无关的脚手架配置,能隐藏到依赖中的尽量隐藏。
    tyrealgray
    tyrealgray
    Apr 30, 2020
    14
    没事不要 eject,Facebook 给你维护后续各种工具不好吗?
    xuanbg
    xuanbg
    Apr 30, 2020
    15
    搞个模板项目,然后都是复制粘贴改一改……
    liuzhaowei55
    liuzhaowei55
    Apr 30, 2020 via Android
    16
    用阿里的 umi 最近更新了 3.0 新版本,相比以前配置简化了不少
    VDimos
    VDimos
    Apr 30, 2020 via Android
    17
    CRA eject 这个体验真的糟糕,不知道为什么 react 官方推荐这个方式,相当糟心
    randyo
    randyo
    Apr 30, 2020 via Android
    18
    不 eject 的话该配置简直不知道有多麻烦,各种报错,还得 eject 出来后才知道怎么改才不报错。说白了就是各种难改,vue-cli 好改多了
    lihongming
    lihongming
    May 1, 2020 via iPhone
    19
    umijs+1

    虽然可能是 KPI 产物,但真的省事
    vone
    vone
    May 1, 2020 via Android
    20
    试试 parcel?
    Mutoo
    Mutoo
    May 1, 2020
    21
    目前用的是 react-boilerplate 在 /develop 上未发布的 5.0 版本,然后自己魔改过。
    yazoox
    yazoox
    OP
    May 1, 2020 via Android
    22
    @vone
    这个 parcel 相当于什么工具? webpack?
    AV1
    AV1
    May 1, 2020 via Android
    23
    开始我也不愿 eject,都是在项目内用各种奇技淫巧修修补补,担心 eject 出来的配置太复杂导致失控。但无奈这 CRA 实在是太简陋了,各种修补之后复杂度跟重建 webpack 还有啥区别。
    后来果断 eject,发现以前那些奇技淫巧才是在浪费时间。eject 后改那些配置文件没有传说中那么可怕,至少对写过 webpack 的我来说如此。
    ericgui
    ericgui
    May 1, 2020
    24
    我现在觉得 parcel + babel 就够用了
    vone
    vone
    May 1, 2020 via Android
    25
    @yazoox 自己看官网吧,有中文文档。有很多预设,使用体验比 webpack 好很多。
    yuanfnadi
    yuanfnadi
    May 1, 2020 via iPhone
    26
    umijs

    路由,按需加载,antd,ts 还有一大堆东西你都不用管了。
    有人专人维护,内部大量使用。
    jinliming2
    jinliming2
    May 1, 2020 via iPhone
    27
    我是自己搞了一套自用的模板,随时更新,新项目用最新的搭,基本上就是 git clone 然后删 .git 重新 git init,然后 yarn……
    create react app 感觉太重了(很多用不到的东西,不想留着
    yazoox
    yazoox
    OP
    May 14, 2020
    28
    @jinliming2 能分享一下么?我去看看,学习一下!
    thx.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3160 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 04:32 · PVG 12:32 · LAX 20:32 · JFK 23:32
    ♥ Do have faith in what you're doing.