2017-03-02 201 views
1

任何人都可以提供帮助吗?我想导入的单张插件(https://github.com/Leaflet/Leaflet.markercluster)的离子2如何安装Leaflet插件2

这里是一步,我做到了:

npm install leaflet.markercluster --save 

我说小叶这样的:

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

,并用它像这样:

var markers = LL.markerClusterGroup(); 

我得到一个错误TypeE rror:

WEBPACK_IMPORTED_MODULE_2_leaflet_markercluster.markerClusterGroup is not a function

有没有什么方法可以自定义webpack加载插件库?谢谢

回答

2

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

导入它时,它仅执行副作用,即它自己附加到全局名称空间L(Leaflet)。它不会将任何内容返回到您的默认导入,也不会返回任何内容。

但是,你应该能够使用它,如果你已经列入它的“老派”的方式(即通过<script>标签):

var mcg = L.markerClusterGroup(); 

顺便说一句,无论是单张及Leaflet.markercluster执行副作用,所以你只需要这样导入它们:

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

是的。我们还需要安装它以避免打字稿错误。 npm install --save-dev @ types/leaflet -markcluster – HuyLe

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';