任何人都可以帮忙吗?我正在尝试为离子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来加载插件库?感谢
答案 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';