使用create-react-app有哪些缺点?

8

我需要从头开始构建一个前端项目。

这个项目的雄心壮志将持续很长时间。在开发的前几周,我的主要目标是建立一个良好的基础。

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

但是,如果我使用这个解决方案,我的项目会有多模块化呢?

是否有人知道使用CRA会出现一些缺点吗?

我最担心的是打包器。

如果项目越来越大,我必须优化CRA的webpack配置吗?

与其使用自己的打包器配置,还不如从头开始创建我的项目,这样更好吗?

2个回答

8

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

这意味着它属于客户端渲染优缺点(请Google一下)。

有关CRA的优点,请参见文档

缺点:

  • 固定的设置(与几乎所有工具一样)。
  • 难以配置。

我认为没有更有趣的缺点需要谈论。


非常重要的注意事项:开发周期应该与生产环境解耦。

我想解决一些基本问题,因为我看到很多问题类似于这个。

React都是关于组合隔离的(请参见设计原则React思考)。这意味着您的React组件应该在任何环境中运行

因此,在开发应用程序时,您应该专注于单独开发,因此使用像Storybook这样的工具实际上是您唯一需要的。

我的关于新项目的看法:

  1. 决定任何环境(如CRA/Gatsby/Next等)。
  2. 在隔离中开发组件(如Storybook)。
  3. 将更改推送到生产环境。
  4. 重复1-2,直到出现瓶颈(例如,您发现CSR在应用程序中效果不佳)。
  5. 切换生产环境(记住,您的组件应该在任何环境中工作)。 转到1。

祝你好运。


1
谢谢您的回答,非常有帮助。对于这个应用程序,我不需要服务器端渲染,因此CRA似乎是一个不错的选择。我编辑了我的帖子,以更精确地表达我的担忧。 - Sinane
3
我认为这个问题是关于使用 create-react-app 和从头开始创建 React 项目的区别。 - Fed
@FedericoCapaldo 提到优点就够了,还是要详细说明一下? - Dennis Vash
“难以配置”的一个例子是什么? - stk1234
@stk1234 CRA不支持的每个功能都很难配置,您可以参考任何帮助CRA配置的工具,例如https://github.com/dilanx/craco。 - Dennis Vash

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

1
如果你只想要一个开发服务器(即非生产环境),你可以直接运行标准的 npm start 脚本。 - Robin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接