我有一个很大的应用程序,我进行了一些更改以使其成为“混合”。
如果旧的Angularjs应用程序捆绑包按时首次加载会很好用。 (4-5MB的捆绑包) 我在网上检查样本,大多数样本都说相同。例如:
https://github.com/manfredsteyer/ngUpgrade-lite-sample/blob/master/src/index.html
这将起作用,因为它是一个小型应用程序,他只是手动导入所有模块和组件,而在我的应用程序中不可能有200个以上的组件。
那么在Angular混合应用程序中加载任何东西之前,最好先加载Angularjs应用程序捆绑包的最佳方法是什么?
我将旧的应用程序与Webpack 4捆绑在一起,还尝试将其导入main.ts
文件中,还尝试在 angular.json 中使用script
,但运气不佳我的错误:
未捕获的错误:[$ injector:nomod]模块'app'不可用!
我想这一定是因为在新的angular 7引导应用程序之前,没有加载angularjs
答案 0 :(得分:0)
好的,我刚刚弄清楚了。有两种方法可以做到这一点,首先是创建一个Javascript加载程序,您可以在此处找到操作方法:
https://davidwalsh.name/javascript-loader
我要做的另一种解决方案是进行一个唯一的构建过程。这意味着我完全淘汰了Angular 7的构建过程并将其复制到Angularjs Webpack配置中,因此最终结果是一个捆绑包,其中包含同一捆绑包中的两个应用程序。
为此,您可以看一下该软件包,该软件包为您提供了Webpack中Angular的构建工具:
https://github.com/angular/ngtools-webpack-builds
请记住,您应该通过Webpack配置文件中的html
处理scss
和raw-laoder
文件。
如果我发现新内容,我将更新此帖子以提供更多信息。