首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个独立模块的React.js最佳工作流

多个独立模块的React.js最佳工作流
EN

Stack Overflow用户
提问于 2018-04-24 19:01:07
回答 2查看 567关注 0票数 1

我只是想知道我已经有一个网站了。如果我想注入一些反应模块到它,让我们说模块-A,模块-B,模块-C。在某些情况下,模块A和模块B在同一页上.所有模块都共享reactaxios,但它们也有自己的依赖关系。什么是为它准备构建的最佳方法??我其实喜欢create-react-app。是否有任何聪明的方法使模块只加载所需的依赖项?因此,我可以单独包含它们,如果它们都存在于页面中,它们将不会在代码中克隆依赖关系。

我想避免这样的情况:我有20个小模块,它们都在构建的代码中使用react。因此,60%的代码将重复依赖。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-24 19:22:54

你没有太多的选择

您可以像这里所提到的那样利用代码拆分( https://webpack.js.org/guides/code-splitting/ ),所以假设您有

代码语言:javascript
运行
复制
ModuleA -> [depA, depB, depC]
ModuleB -> [depA]
ModuleC -> [depC]

现在您可以将代码拆分为4个javascript文件,这些文件将是

代码语言:javascript
运行
复制
moduleAbundle.js
mobuleBbundle.js
mobuleCbundle.js
vendors.js

验证器将是depA, depB, depC的连接,但当然,当您在1页上加载moduleB和ModuleC时,您也将加载depB,因为它包含在vendors.js中,因此您需要考虑和处理这方面的许多问题。

但是实际上,您可以想到最关键的部分和最共享的ship,并列出它们,假设您的所有包都使用reactreact-domlodash,您将只使用这些库为vendors制作包,任何其他库都将与模块本身捆绑在一起,是的,您不能100%地消除“双重加载”,但是如果您将双加载库(其中包含了几个kB ),当它更大时,将其与vendors.js一起打包。

或者,在后端端可以有一些复杂的机制,当您确切地指定和编排加载的依赖项时,因为您知道呈现了哪些模块以及它们的依赖项是什么。但是没有任何方法来捆绑和发送只需要的和请求的依赖项,在运行中这样做将非常缓慢,您需要刷新浏览器的快速响应,而不是通过额外的编译过程来减缓它的速度。因此,正确地准备和拆分逻辑块中的代码很可能是一项手工工作,这是很有意义的。

票数 2
EN

Stack Overflow用户

发布于 2022-09-26 14:58:14

我不知道反应的答案,但对于未来,也许你可以考虑使用角,和它的ngModule功能分裂应用程序为多个独立的模块与他们自己的依赖。

https://angular.io/guide/ngmodules

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50009074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档