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

2020-04-30 18:15:13 +08:00
 yazoox

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

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

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

谢谢!

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

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

3932 次点击
所在节点    程序员
28 条回复
fancy2020
2020-04-30 18:21:20 +08:00
同样被这个问题困扰过,后来自己弄了个精简版的 boilerplate 项目:
https://github.com/fanchangyong/react-express-starter-kit
yuang
2020-04-30 18:28:33 +08:00
建议不要 eject,eject 出来的配置太过复杂,改的头大,还不如重新用 webpack 搞
FreMaNgo
2020-04-30 18:31:33 +08:00
用 cra + react-app-rewired + customize-cra
randyo
2020-04-30 18:33:34 +08:00
eject
Hanggi
2020-04-30 18:34:20 +08:00
ng new app
lichenshuai12138
2020-04-30 18:44:07 +08:00
@Hanggi hhhh
well
2020-04-30 18:49:24 +08:00
脚手架:react-boilerplate
git clone --depth=1 github.com/react-boilerplate/react-boilerplate.git
hantsy
2020-04-30 19:05:46 +08:00
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
2020-04-30 19:13:29 +08:00
不知道 React Create APP 有没有类似 Angular semantics 的机制,就我试用 RCA 的体验,感觉 RCA 出来的项目,添加其它配置也是比较麻烦的。
ccraohng
2020-04-30 19:18:07 +08:00
umijs
lqzhgood
2020-04-30 20:11:21 +08:00
CRA 好难受~~ eject 一时爽 后面更难受……
woniuppp
2020-04-30 20:27:23 +08:00
umi
uxstone
2020-04-30 22:09:04 +08:00
参考 CRA 中的 react-scripts 和 templates,自己定制两个 npm 包
以后项目更新也只要修改版本号就行了

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

虽然可能是 KPI 产物,但真的省事
vone
2020-05-01 09:49:35 +08:00
试试 parcel?

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

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

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

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

© 2021 V2EX