You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular8.1.2用@asymmetrik/ngx-leaflet遇TS1086、TS2456错误求助

解决Angular 8.1.2中使用@asymmetrik/ngx-leaflet的编译错误

你遇到的编译错误分为两类,对应不同的版本兼容问题,以下是具体解决步骤:

一、解决TS1086: An accessor cannot be declared in an ambient context错误

这个错误是因为你安装的@asymmetrik/ngx-leaflet版本过高,使用了TypeScript 3.7+才支持的“在.d.ts文件中声明访问器”特性,而Angular 8.1.2配套的TypeScript版本是3.4.x,不支持该特性。

解决方法:安装与Angular 8兼容的ngx-leaflet版本(7.x系列):

  • 卸载当前版本:
    npm uninstall @asymmetrik/ngx-leaflet
    
  • 安装兼容版本:
    npm install @asymmetrik/ngx-leaflet@7.2.1 --save
    
    注:ngx-leaflet版本与Angular版本严格对应,Angular 8对应v7,Angular 9对应v8,以此类推。

二、解决TS2456: Type alias 'Geometry' circularly references itself错误

这个错误来自@types/geojson的高版本,其使用了TypeScript 3.7+支持的循环类型引用,同样不兼容Angular 8的TS版本。

解决方法:降级@types/geojson到兼容版本:

  • 卸载当前版本:
    npm uninstall @types/geojson
    
  • 安装兼容版本:
    npm install @types/geojson@7946.0.7 --save-dev
    

完成上述操作后,重新执行编译命令即可解决所有错误。

内容的提问来源于stack exchange,提问作者Abidalli Chayma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 14:14:50