我正在尝试使用 Leaflet Angular 库创建一个基本的 ASP.NET Core with Angular 项目,但是在为 Leaflet 添加 Typescript 定义后,由于存在很多语法错误,它无法编译,例如:
Error: node_modules/@types/leaflet/index.d.ts:2509:51 - error TS1144: '{' or ';' expected.
index.d 中的第 2509 行是以下代码片段中的第三行:
static extend<T extends object, Options extends ControlOptions = ControlOptions>(
props: T,
): { new(...args: any[]): T } & typeof Control<Options>;
constructor(options?: Options);
听起来这是因为我的 Visual Studio 2022 中的项目模板使用 Typescript 4.6.3,而 Leaflet Typescript 定义使用 4.8。
我猜测要解决这个问题,我需要找到基于 Typescript 4.6.3 或更低版本构建的较旧的 Leaflet 版本,但是我更喜欢使用最新版本的 Leaflet,如何在我的 Angular 项目中更新 Typescript 版本?
我尝试更改
"typescript": "~4.6.3"
文件中的 package.json
,但这似乎没有帮助。
您尝试过通过 npm 更新吗?此外,您还需要根据打字稿版本拥有兼容版本的节点和角度