2016-06-28 3 views
1

Я использую angular-cli для создания нового проекта Angular 2. Я пытаюсь добавить проект npm «baconjs», но не добился успеха.Невозможно импортировать 'baconjs' в функцию Angular 2

Я следую инструкциям: https://github.com/angular/angular-cli/wiki/3rd-party-libs

НПХ и типизация устанавливает рабочую находку. Изменение файла angular-cli-build.js приводит к установке «vendor/baconjs/dist/Bacon.js» в каталог dist /. Однако попытки import * as foo from 'baconjs' результатов в этой ошибки:

Cannot find module 'baconjs'. 

Я также пробовал ...from 'baconjs/Bacon' и ...from 'baconjs/Bacon.js'. Я пробовал много разных заклинаний в моей системе-config.ts. Это моя текущая версия:

const map: any = { 
    'baconjs': 'vendor/baconjs/dist' 
}; 

/** User packages configuration. */ 
const packages: any = { 
    'baconjs': { main: 'Bacon', defaultExtension: 'js' } 
}; 

Я пробовал все разные значения для поля 'format'. Я пробовал с и без defaultExtension. Я пробовал много всего. Нет кубиков.

Загадочно, System.import('baconjs/Bacon.js'), кажется, работает просто отлично, если вы разместили его в верхней части того же файла с плохим импортом. Итак, вся конфигурация systemjs делает что-то.

Хм, похоже, подобные вопросы задаются повсюду. Ну что ж. Положив его на запись ...

ответ

0

Хорошо, вот что я работал после просмотра многих документов и многого. Это почти так же, как и инструкции для подчеркивания на угловой вики, но с одним важным изменением.

npm install baconjs --save 
typings install baconjs --save --global 

Измените угловой кли-сборки и системы конфигурационных файлов, как описано, то в файле транскрипта для файла службы:

/// <reference path="../../../../../../typings/globals/baconjs/index.d.ts" /> 
import * as Bacon from 'baconjs'; 

Разница является линия импорта, в отличие от declare var _; в wiki. Также важно, чтобы строка /// <reference ... была самой первой строкой в ​​файле.

Смежные вопросы