一个简单的路障。我需要在我的一些服务中使用Leaflet和Leaflet-Draw插件。
我不知道如何导入完整的模块(核心和插件)
// the core
import * as L from 'leaflet';
// extension
import 'leaflet-draw';
export class LeafletConsumerService {}
我有一个我不太喜欢的解决方案。我通过在index.html
中硬链接来加载库,而消费者只需要对打包文件进行引用声明
/// <reference path="../typings/index.d.ts" />
export class LeafletConsumerService {}
我能做到这一点吗?有没有办法导入一个文件,只会导致副作用到已经加载的模块?
答案 0 :(得分:1)
好的,快速而肮脏的解决方案。如果您从quickstart repo启动项目,则此答案有效。转到system.config.extras.js
并扩展您的配置:
System.config({
map: {
'leaflet': 'npm:leaflet/dist/leaflet.js'
},
packages: {
leaflet: {
defaultExtension: 'js'
},
}
});
这意味着我们现在可以导入传单
import * as L from 'leaflet';
并按照描述添加相应的扩展文件
import 'your-leaflet-extension';
请记住扩展您的扩展程序的类型信息(通过打字文件或自己制作)