将 angular 应用程序集成到 spring 应用程序中,JSP 页面 [TypeError]

Integrating angular app in spring application, JSP page [TypeError]

我正在尝试将 Angular 应用程序集成到现有的 spring 应用程序中。下面是用于集成的代码。它在某些 jsp 页面上有效但在某些页面上失败,请参考下面的描述和浏览器中呈现的元素。

<div id="lanetable" style="display: block;">
  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  <div>
    <div class="">
      <div id="container" class="formTableExternal" style="padding-bottom: 10px;">
        <div id="container">
          <app-root></app-root>
        </div>
      </div>
    </div>
  </div>
  <script type="text/javascript"
    src="<%=ContextUtil.getContext(request)%>/product/AngularUIModules/app/polyfills.js"></script>
  <script type="text/javascript"
    src="<%=ContextUtil.getContext(request)%>/product/AngularUIModules/app/runtime.js"></script>
  <script type="text/javascript"
    src="<%=ContextUtil.getContext(request)%>/product/AngularUIModules/app/main.js"></script>
</div>

我能够看到所有脚本都已正确加载,但 angular 应用程序未加载到页面上,而是在控制台中显示以下错误。

main.js:1 ERROR TypeError: this.router.events.pipe(...).subscribe is not a function
    at e.setUpPreloading (main.js:1)
    at e.bootstrapListener (main.js:1)
    at main.js:1
    at Array.forEach (<anonymous>)
    at e._loadComponent (main.js:1)
    at e.bootstrap (main.js:1)
    at main.js:1
    at Array.forEach (<anonymous>)
    at e._moduleDoBootstrap (main.js:1)
    at main.js:1

main.js:1 ERROR Error: Uncaught (in promise): TypeError: this.expandSegmentGroup(...).pipe is not a function
TypeError: this.expandSegmentGroup(...).pipe is not a function
    at e.apply (main.js:1)
    at main.js:1
    at new e (polyfills.js:1)
    at e.runNavigate (main.js:1)
    at main.js:1
    at e.invoke (polyfills.js:1)
    at Object.onInvoke (main.js:1)
    at e.invoke (polyfills.js:1)
    at t.run (polyfills.js:1)
    at polyfills.js:1
    at j (polyfills.js:1)
    at j (polyfills.js:1)
    at polyfills.js:1
    at e.invokeTask (polyfills.js:1)
    at Object.onInvokeTask (main.js:1)
    at e.invokeTask (polyfills.js:1)
    at t.runTask (polyfills.js:1)
    at d (polyfills.js:1)

在浏览器中呈现的元素:

我无法指出确切的错误。由于组织政策,我无法提供 jsp 的完整来源,但相同的应用程序呈现在不同的 jsp 页面上。

我尝试从 chrome 以外的所有其他浏览器打开相同的应用程序,但在 Internet Explorer 上出现了不同的错误。给出的解决方案是取消注释 polyfill.ts import 'core-js/es6/array'; import 'core-js/es6/string'; 中的两行,并解决了来自 Internet Explorer 和 chrome 的错误。 尽管该问题并非特定于 angular,但其中一个答案表明 angular 应用程序中也会出现相同的错误。

找到那个问题