如何安装离子2的Leaflet插件

时间:2017-03-02 07:47:00

标签: ionic2 leaflet

任何人都可以帮忙吗?我正在尝试为离子2

导入传单插件(https://github.com/Leaflet/Leaflet.markercluster

这是我做的一步:

npm install leaflet.markercluster --save

我添加了这样的传单:

import * as L from 'leaflet'; import * as LL from 'leaflet.markercluster';

并像这样使用它:

var markers = LL.markerClusterGroup();

我收到错误TypeError:

  

WEBPACK_IMPORTED_MODULE_2_leaflet_markercluster.markerClusterGroup是   不是一个功能

有没有办法自定义webpack来加载插件库?感谢

2 个答案:

答案 0 :(得分:3)

Leaflet.markercluster插件不会以“标准”/ UMD方式导出自己。

导入时,它只执行副作用,即它将自身附加到L(Leaflet)全局命名空间。它不会向您的默认导入和LL变量返回任何内容。

但你应该可以使用它,好像你已经把它包含在“旧学校”的方式中(即通过<script>标签):

var mcg = L.markerClusterGroup();

BTW,Leaflet和Leaflet.markercluster都会执行副作用,因此您只需要以这种方式导入它们:

import 'leaflet'; // Creates a global L namespace.
import 'leaflet.markercluster'; // Attaches L.markerClusterGroup to global L.

答案 1 :(得分:2)

如果您使用的是javascript模块,则需要使用类型声明和模块。 对于leaflet.markercluster,它应为here

npm install leaflet.markercluster --save

执行:

npm install --save-dev @types/leaflet-markercluster

同时确保您的tsconfig.json具有条目"typeRoots": ["types"],

现在它可以在你的班级中导入。

import * as LL from 'leaflet-markercluster';