create-react-app 的缺点是什么?

What are the drawbacks of create-react-app?

我必须从头开始构建一个前端项目。

这个项目雄心勃勃,将持续很长时间。在开发的头几周,我的主要目标是在良好的基础上开始。

因此,我想知道 create-react-app 是否是一个不错的选择,因为它很容易上手,而且这个工具箱针对生产进行了优化。

但是,如果我使用此解决方案,我的项目将如何模块化?

有人知道使用 CRA 的项目是否会出现一些缺陷吗?

我主要担心的是捆绑器。

如果项目越来越大,是否需要优化CRA的webpack配置?

使用我自己的捆绑器配置从头开始创建我的项目不是更好吗?

CRA 是一个轻量级环境,它在客户端(浏览器)生成 HTML。

这意味着它符合客户端渲染优点和缺点(google)。

For CRA advantages see docs.

缺点:

  • 自以为是的设置(就像几乎所有工具一样)。
  • 难以配置。

I don't think there are more interesting drawbacks to talk about.


非常重要的旁注:开发周期应与生产环境分离。

我想解决一些基本问题,因为我看到很多问题都与此类似。

React 完全是关于 CompositionIsolation(参见 Design Principles, Thinking in React)。这意味着您的 React 组件 应该可以在任何环境下工作

因此,在开发应用程序时,您应该关注隔离中进行开发,因此使用Storybook等工具进行开发实际上是您唯一需要的东西。

我认为新项目的开发周期:

  1. 决定任何环境(如CRA/Gatsby/Next等)
  2. 单独开发组件(就像使用 Storybook)。
  3. 推送更改为生产环境
  4. 重复 1-2 直到遇到瓶颈(例如,您发现 CSR 不适用于您的应用程序)。
  5. Switch 生产环境(请记住,您的组件应该在 any 环境下工作)。转到 1.

祝你好运。

对我来说,我不使用 CRA 的主要原因是因为没有开发/暂存版本的选项。 react-scripts build 将始终将环境设置为生产环境并生成缩小版本,不适合在开发/暂存环境中托管。