2016-12-11 3 views
0

Я действительно пытаюсь понять, как правильно импортировать зависимость в компонент.Как импортировать/использовать тиски в угловой компонент 2

Я установил Leaflet библиотеки и ее типизации в проект (packages.json фрагмент):

"@types/leaflet": "^1.0.38" 
... 
    "leaflet": "^1.0.2" 

@types/leaflet/index.d.ts экспорт:

declare module 'leaflet' { 
    export = L; 
} 

В моем компоненте файл, получаем жалобы на все:

import leaflet from 'leaflet'; 
//import L from 'leaflet'; 

export class AppComponent { 
    mymap = leaflet.map('mapid').setView([51.505, -0.09], 13); 
} 

Модуль «листовка» не имеет значения по умолчанию export.at строка 3 col 8

Какая правильная заявка на импорт? (Я признаю, что это большая дыра в моем понимании углового cli/webpack/typescript/черной дыры)

ответ

1

Вы можете импортировать все экспорта, как это:

import * as L from "leaflet"; 

let m = L.map(...); 

Или вы можете импортировать их по отдельности, как это :

import { map } from "leaflet"; 

let m = map(...); 
+0

Спасибо. Это то, что тянет прямо из сырой листовки, даже если принять во внимание @types? –

+0

Используется '@ types/leaflet' - версия 1.0.38 - согласно вашему вопросу. Я не вижу определений типов в самом пакете 'leaflet'. Если он по-прежнему не работает для вас, вы можете включить в свой вопрос свой 'tsconfig.json'. – cartant

1

Листовка, похоже, не совместима с модулями ES2015. Попробуйте этот синтаксис:

import * as L from 'leaflet' 

И использовать его как это:

let marker = L.marker(...)