【发布时间】:2016-10-20 14:00:51
【问题描述】:
我正在使用 Angular2 制作项目。该项目使用 Angular-CLI (1.0.0-beta.17) 生成,并使用 Angular v2.0.0 和 TypeScript。
在这个项目中,我想同时导入Leaflet(1.0.1) 和Leaflet.VectorGrid(1.0.2)。
我用 npm 安装它们
npm install leaflet
npm install leaflet.vectorgrid
Leaflet 有一个@types 定义,所以我也安装了它
npm install @types/leaflet
Leaflet.VectorGrid 但是没有@types 定义,所以我添加了
declare module 'leaflet.vectorgrid';
改为我的 typings.d.ts 文件。
但是我怎样才能将这两个模块导入到我的项目文件中的同一个命名空间中呢?
如果我尝试:
import * as L from 'leaflet';
import * as L from 'leaflet.vectorgrid';
由于标识符重复,这在逻辑上会引发编译错误。 使用不同的别名导入它们,例如:
import * as L from 'leaflet';
import * as LVG from 'leaflet.vectorgrid';
也不起作用,因为 Leaflet.VectorGrid 扩展了全局 L 对象这样做
LVG.vectorGrid(...)
失败。
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: angular typescript import leaflet