create-react-app 减少对覆盖配置库的依赖

odopli94  于 2个月前  发布在  React
关注(0)|答案(1)|浏览(30)

你的提案是否与问题相关?

今天,CRA不允许我们创建命名的供应商捆绑包。供应商块仍然被编号(1.hash.chunk.js)而不是命名(vendors~main.hash.js)。我们在CI管道中有构建后处理过程,该过程扫描生成的任何开源依赖项漏洞代码,但由于生成的捆绑包是编号而不是命名的,它们今天被忽略了。我们过去的方法是使用像craco这样的配置覆盖库,这允许我们创建命名的供应商捆绑包。然而,这些库没有被积极维护以使其与不同场景一起工作,例如npm 7+,它改变了遗留的对等依赖项行为,导致构建失败。它们也没有与CRA的发布保持良好的文档发布周期。

描述你希望的解决方案

如果CRA在某个地方提供了一个配置选项,让我们能够在命名的供应商捆绑包和编号的供应商捆绑包之间进行选择,那就太好了。我看到过这个#6155,但没有看到任何维护者回应这个问题。
我希望能远离这些增强CRA能力的自定义库,因为这降低了我们的项目可靠地升级到CRA最新版本的能力。

描述你考虑过的替代方案

如上所述,我们使用了名为craco的库,它允许我们覆盖底层的webpack配置。如果可能的话,我想远离这些库来提高我项目的升级可靠性。目前我们无法升级到CRA 5,因为Craco的最新版本仍然与CRA 5不兼容,如果我们完全投入到CRA生态系统中而没有任何第三方库,就可以避免升级过程中的延迟。

h5qlskok

h5qlskok1#

@gaearon 如果我们能得到您对这个问题的看法,那将是非常好的。依赖于由CRA团队直接维护的第三方包是我们想要避免的事情。如果这已经在路线图上,或者有更根本的原因为什么还没有启用的话,那就更好了。

相关问题