angular - 如何在 Angular 2+ 中构建特定模块
问题描述
我想知道是否有任何方法可以从具有多个模块的应用程序构建特定模块。
例如,我在应用程序中有模块 a、b 和 c,但我的一个客户只需要 b 和 c。我不想编译所有模块并删除不需要的块,以寻找一种编译仅作为命令或其他东西传递的块的方法。
任何帮助高度赞赏。
解决方案
您可以使用路由器功能在应用程序中延迟加载子模块。
这将为您的应用程序生成单独的 JS 模块。
不幸的是,所有内容都将被编译,因为您无法在导入等中轻松删除链接,但是如果您的用户没有在您的应用程序中访问这些模块,您的模块将不会被下载或解析。
这是有关此的官方文档链接:
- https://angular.io/guide/router#lazy-loading-route-configuration
- 在这个应用程序中,有一个延迟加载设置路由的好例子:https ://akveo.github.io/ng2-admin/articles/002-installation-guidelines/
注意:在这个例子中,带有基本模块的整个应用程序都是延迟加载的,这不是一个好的做法。只有可能无法访问的子模块才意味着延迟加载。
推荐阅读
- azure - Azure:将资源从一个订阅移动到另一个具有依赖关系的订阅
- vue.js - 在 vue 鼠标悬停事件中
- jquery - 在codeigniter 4中对提交事件进行ajax调用时得到403禁止
- node.js - 为什么 process.stdout.on('data' 在我按下回车键 (node.js) 之前不会触发?
- javascript - 如何从用户那里获取输入并将其显示在屏幕上,当他分享 url 时,获得 url 的人可以看到该输入
- wcf - 在 WCF 中遇到最大邮件大小配额
- python - 使用列值+python中这些值的别名来命名excel文件
- tableau-api - 在 tableau 中,我想创建一个基于过滤器的计算字段,并输出也基于过滤器的答案
- reactjs - 从地理服务器获取数据时出现错误语法错误:JSON.parse
- r - 在分组、汇总和评估 TRUE 条件后改变新列