create-react-app 期待官方支持no eject extension react-scripts/webpack,

insrf1ej  于 4个月前  发布在  React
关注(0)|答案(2)|浏览(47)

需要扩展配置

当我们使用create-react-app创建React应用时,我们通常需要扩展更多的配置(如react-scripts或webpack),并且希望不弹出以便持续升级react-scripts。
当前可用的方法如下,但它们都有自己的问题。

  1. npm run eject
    无法升级react-scripts。
  2. 修改node_modules下的react-scripts源代码,然后使用patch-packages
    在升级react-scripts时无法维护。
  3. 使用--scripts参数,扩展自定义的react-scripts
    为单个项目定制一个react-scripts成本太高。

这些程序都很棒,但是没有办法让社区支持继续下去。当有破坏性的更新,如CRA5时,几乎无法跟进支持,甚至被放弃。
例如,我曾经喜欢使用craco。但是,当CRA5发布时,由于更新太大,原作者没有太多时间来维护它,这个计划几乎被放弃了(LOOKING FOR A NEW TEAM TO LEAD CRACO)。

描述你想要的解决方案

希望官方能支持一种方法。在不弹出的情况下,我们可以扩展配置(如react-scripts/webpack),并将支持参数合并到webpackConfig中。
如果可以支持的话,我们可以在创建自定义cra-template时预设一些配置。

2cmtqfgy

2cmtqfgy2#

我认为从react-scripts到webpack 5,没有足够的价值主张来引起麻烦,如果你要自定义?
开箱即用,webpack 5支持热重载、错误覆盖、开发和生产默认值、缓存、输入和输出的合理默认值...,在这一点上,react-scripts只是真正启用了上述功能,添加了babel转换、CSS捆绑和集成的lint和类型检查。前两者很容易添加到webpack.config.js中,而后者的价值值得怀疑,通常被更大的web开发社区所抛弃(更倾向于CSS-in-JS和单独的CI传递+编辑器高亮显示)
它有点粗糙(需要安装@webpack-cli/generators,有些我不喜欢的一些默认值等),但甚至有npx webpack-cli init可以替换npx create-react-app

相关问题