2016-12-15 65 views
2

一個簡單的路障。我需要在我的一些服務中使用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 {} 

難道就沒有別的辦法,我能做到這一點?有沒有辦法將一個文件導入已經加載的模塊中?

回答

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

請記住擴展您的擴展的類型信息(通過打字文件或製作自己的文件)

相關問題