【发布时间】:2018-03-08 04:25:42
【问题描述】:
我正在尝试将使用嵌入 <script> 标记的单个 .html 文件编写的简单 Javascript 原型转换为使用 Typescript 编译的模块。
它使用的是 Leaflet,我很高兴能够通过它安装
npm install leaflet
npm install --save @types/leaflet
通过导入
import * as L from 'leaflet';
并通过例如使用。
var map = L.map('map').setView([-43.4175044, 172.185657], 8);
但是我也想使用这个https://rawgit.com/jieter/Leaflet.encoded/master/Polyline.encoded.js Javascript 文件,它为主要的 Leaflet L 对象提供了一些扩展。
我试过通过这个导入
import 'https://rawgit.com/jieter/Leaflet.encoded/master/Polyline.encoded.js'
但是当我尝试使用它时。
var coordinates = L.Polyline.fromEncoded(encoded).getLatLngs();
我收到以下错误:
error TS2339: Property 'fromEncoded' does not exist on type 'typeof Polyline'.
我怎样才能让它工作?仅仅是为这些扩展提供类型支持的问题吗?如果是这样,我该怎么做?
【问题讨论】:
-
好吧,找到折线的@types包并导入它,应该可以解决问题。
-
@toskv 如果没有可用的类型包,我自己创建一个最简单的方法是什么? 'fromEncoded' 方法实际上是我唯一需要的方法。
-
只需将其写入项目中的 .d.ts 文件即可。
标签: javascript typescript leaflet polyline es6-modules