Webpack是一个通用Bundle 包,其应用程序超出React.create-react-app
年前,网络上充斥着建立一个全新的React项目的例子,该项目使用webpack作为Bundle 包.它非常灵活,可以处理包括React应用程序所需内容以及其他内容.它适用于Angular、Vue、NodeJ甚至Web组装.
但它过go 需要一段时间来设置.您需要了解它的工作原理并对其进行配置,以便将React+ES6代码传输到plan vanilla JS中.你需要决定你喜欢的输出 struct ,并为其配置webpack.然后还添加了热模块重新加载和代码拆分支持.在此期间,您还需要添加Webpack所需的其他插件,以支持上述所有功能:).
这自然会让刚开始接触React的人感到有些疲劳.
因此,facebook创建了cra,它在内部使用webpack,预先配置为包含所有优秀的工具,以处理这些基本问题,并帮助您专注于代码的react 部分.它会尽可能对您隐藏webpack,否则如果用户更改配置,构建过程可能会中断.
除此之外,cra使用的 struct 约定不应该对基本的网页包设置产生任何性能影响.这只是个惯例.
那么你的问题应该是when would I use create-react-app and when would I use Webpack?
作为一名初学者,你可能希望在专注于react应用程序时坚持使用cra.最终会有一天,cra在幕后管理的网页包配置不支持您想要做的事情.一个非常常见的例子是,如果您想编写一个组件库,以便在其他应用程序中重用.cra无法做到这一点(这与整个应用程序有关:).然后你可以切换到webpack并开始学习它.