2016-05-17 4 views
2

Я использую цифры Twitter для аутентификации. Для загрузки и инициализации требуется небольшой скрипт .js. Они рекомендуют напрямую извлекать файл со своего сервера.Как загрузить внешний скрипт js в угловой 2 во время выполнения?

Я должен импортировать

<script id="digits-sdk" src="https://cdn.digits.com/1/sdk.js" async></script>

и инициализировать SDK, используя как Digits.init({}).

Я использую шаблон angular2 webpack starter, который использует веб-пакет.

Раньше я использовал systemjs, где я просто сопоставлял имя файла с URL-адресом и импортировал его в свой компонент. Как это

var map = { 'Digits':'https://cdn.digits.com/1/sdk' }; 

затем импортировать его в угловой составляющей, как import * as Digits from 'Digits';

Я знаю, что есть WebPack внешнеположенности, но это не соответствует.

console.log(Digits) в ngOnInit() иногда показывает правильный объект, иногда неопределенная ошибка.

ответ

0

Мне повезло. Я использую файл js calendar и хотел получить результат даты от ввода моего контроллера. В моем случае это был Пикадей. Сначала импортируйте файл, как обычно, в любой ваш основной файл html.

<script src="/assets/js/pikaday.js"></script> 

Затем создайте класс, представляющий функции, которые вам нужны.

export class PikadaySource { 
    field: any; 
    firstDay: number; 
    minDate: Date; 
    maxDate: Date; 
    yearRange: number = 1; 
    disableWeekends: boolean; 
    format: string = 'MM-DD-YYYY'; 
    init(){}; 
} 

Целью класса является предотвращение возникновения проблем с транспилером. Поскольку импортированный скрипт находится в глобальной области видимости, он теперь должен использоваться.