将Angular模块分离到不同的包中

时间:2018-07-23 04:04:27

标签: angular webpack

就我而言,我需要单独的主捆绑包。

我需要将每个模块构建到自己的捆绑软件中。我有一个非常大的应用程序,其中包含很多代码。我不希望补丁或修补程序用户至少稍作改动即可再次泵入整个应用程序。这是第一个较长的时间,第二个在服务器上创建负载。我在应用程序中使用serviceworker,其所有资源都缓存在客户端。

在对弹出窗口模块进行更改时,我仅需要能够传输popup.bundle.js文件。并且随着控件模块的更改,只传输了controls.bundle.js文件。我不需要延迟加载。我只需要确保每个模块都绑定到它的捆绑包即可。

1 个答案:

答案 0 :(得分:0)

如果尚未完成操作,则将要捆绑的组件归为离散模块,例如popup.module和controls.module。拥有它们后,告诉webpack您希望它们单独捆绑在一起:

// in angular.json, under projects/{your project}/architect/build/options, add
"lazyModules": ["src/app/popup/popup.module", "src/app/controls/controls.module"]

您还可以将该技术与Angular Elements结合使用,以实现更大的事件分离。