2016-11-20 1 views
0

я использовал листовку с Angular2.0.0 успешно, но когда я переехал в Angular2.2.0, я получаюВ том числе листовки с angular2.2.0

приложение/map.service.ts (4,38): TS2307 об ошибке: Не удается найти модуль «листовка».

systemjs.config.js включает
map: { 'leaflet': 'node_modules/leaflet/dist/leaflet.js' }
и package.json
"dependencies": { "leaflet": "^0.7.7" }


, но как только я хочу, чтобы включить в мой map.service.ts файл
import {Map} from 'leaflet';

Я получаю сообщение об ошибке. Пожалуйста помоги.

+0

У вас установлены типы/листовки @? Кажется, это не проблема с systemjs, но с помощью компилятора typescript, который не может найти этот модуль: «error TS2307» Вы можете увидеть, как здесь работает разрешение модуля TypeScript: https: //www.typescriptlang. орг/документы/руководство/модуль-resolution.html –

ответ

0

AngularCli перейти от SystemJS к Webpack. И если вы хотите использовать как листовка LIBS вам необходимо предоставить его в угловом-cli.json

"styles": [ 
    "../node_modules/leaflet/dist/css/lib_name.css" 
    "styles.scss" 
    ], 
"scripts": [ 
     "./assets/scripts/sw.js", 
     "../node_modules/leaflet/dist/js/lib_name.js" 
     ], 

Кроме того, необходимо предоставить декларацию о ваших 3tyLibs в SRC/typing.d.ts , например:

declare module L; //then you can use L (lealflet object) in your services and component