【问题标题】:What are the drawbacks of create-react-app?create-react-app 的缺点是什么?
【发布时间】:2020-08-26 10:42:20
【问题描述】:

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

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

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

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

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

我主要担心捆绑器。

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

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

【问题讨论】:

    标签: reactjs webpack create-react-app production


    【解决方案1】:

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

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

    有关 CRA 的优势,请参阅 docs

    缺点:

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

    我认为没有更多有趣的缺点可以讨论。


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

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

    React 是关于 CompositionIsolation 的(参见 Design Principles, Thinking in React)。这意味着您的 React 组件应该适用于任何环境

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

    我对一个新项目的自以为是的开发周期:

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

    祝你好运。

    【讨论】:

    • 感谢您的回答,真的很有帮助。我不需要此应用程序的服务器端渲染,因此 CRA 似乎是一个不错的选择。我编辑了我的帖子以更准确地表达我的担忧
    • 我认为问题是关于使用 create-react-app 与从头开始做一个反应项目。
    • @FedericoCapaldo 提到优点就够了,或者你可以详细说明?
    【解决方案2】:

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

    【讨论】:

    • 如果你想要一个开发服务器(即不是生产服务器),你可以只运行标准的 npm start 脚本
    猜你喜欢
    • 2021-06-16
    • 2020-03-01
    • 2017-10-05
    • 2020-10-01
    • 2017-12-24
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    相关资源
    最近更新 更多