首页 > 解决方案 > 将角度迁移到 v 11 后无法读取未定义的属性“defaultView”

问题描述

当我在浏览器加载我的项目时将我的 Angular 项目从 9 迁移到 11 后,会发生此错误

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'defaultView' of undefined
TypeError: Cannot read property 'defaultView' of undefined
    at NbViewportRulerAdapter._getWindow (scrolling.js:665)
    at scrolling.js:580
    at ZoneDelegate.invoke (zone-evergreen.js:368)
    at Zone.run (zone-evergreen.js:130)
    at NgZone.runOutsideAngular (core.js:28209)
    at new ViewportRuler (scrolling.js:578)
    at new NbViewportRulerAdapter (index.js:2405)
    at Object.NbViewportRulerAdapter_Factory [as factory] (index.js:2432)
    at R3Injector.hydrate (core.js:11145)
    at R3Injector.get (core.js:10966)
    at resolvePromise (zone-evergreen.js:1209)
    at resolvePromise (zone-evergreen.js:1163)
    at zone-evergreen.js:1275
    at ZoneDelegate.invokeTask (zone-evergreen.js:402)
    at Object.onInvokeTask (core.js:28269)
    at ZoneDelegate.invokeTask (zone-evergreen.js:401)
    at Zone.runTask (zone-evergreen.js:174)
    at drainMicroTaskQueue (zone-evergreen.js:578)

原因是什么?我在我的项目中使用了nebular ui 库。

标签: angular

解决方案


1- npm i patch-package 2 - 进行以下更改 在此处输入图像描述

3- npx patch-package patch-package 4- npx patch-package @nebular/theme 5- 在 packages.json 中添加 patch-package 到 postinstall 6 -npm i


推荐阅读