我刚刚将我的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行中,有
@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的时候,并没有太多关于这个错误和角度的信息。
发布于 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的更多可能性
https://stackoverflow.com/questions/67626076
复制相似问题