首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 10 to 12更新导致错误未捕获RangeError:错误的长度

Angular 10 to 12更新导致错误未捕获RangeError:错误的长度
EN

Stack Overflow用户
提问于 2021-05-21 02:25:55
回答 1查看 136关注 0票数 2

我刚刚将我的Angular应用程序从版本10升级到了版本12,当我运行'ng serve‘时,没有出现构建错误,但是在控制台中,它给出了错误"Uncaught : Wrong length!“from _typed buffer.js:157。在堆栈跟踪中,底部有app-routing.module.ts:104和auth-guard.service.ts:12。我不确定如何克服这个错误。任何应用程序都不会因此而加载。在auth-guard.service.ts第12行中,有

代码语言:javascript
复制
@Injectable()
export class AuthGuardService implements CanActivate {

constructor(private authService: AuthService, private router: Router, private location: Location) {}

我已经尝试更新到最新的node和npm版本14.17.0和7.13.0。我已经尝试了ng更新和更新我所有的包。似乎就是无法克服这个错误。当我在google上搜索这个错误和Angular 12的时候,并没有太多关于这个错误和角度的信息。

EN

回答 1

Stack Overflow用户

发布于 2021-05-21 02:47:03

根据文档,从angular 10迁移到angular 12有一些与路由器有关的更改,您可能需要手动解决

如果您使用路由器,则relativeLinkResolution的默认值已从传统更改为已更正。如果您的应用程序以前通过未在ExtraOptions中指定值来使用默认值,并且在从空路径路由的子项导航时使用相对链接,则需要更新路由器模块的配置以专门为relativeLinkResolution指定旧版。有关更多详细信息,请参阅文档。

RouterLinkActive的

routerLinkActiveOptions属性现在具有更具体的类型。您可能需要更新访问此属性的代码以与更改保持一致。

在Angular路由器中,已删除v4

initialNavigation中不推荐使用的选项。如果以前使用enabled或true,现在选择enabledNonBlocking或enabledBlocking。

禁用如果以前使用false或legacy_disabled,现在使用

。在Angular路由器的routerLink中,preserveQueryParams已经被移除,取而代之的是使用queryParamsHandling=“保留”。

如果您访问的是queryParams、fragment或queryParamsHandling的空值,则可能需要放宽键入,使其也接受routerLink和null

探索here的更多可能性

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67626076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档