ошибки, что я получаю: ИСКЛЮЧЕНИЕ: ReferenceError: бросок не определен в [нуле]Как получить systemjs для загрузки модуля из CDN, который находится в глобальном формате?
Написания пользовательского Chromecast приложения приемника необходимо использовать следующий файл JS, который предоставляет функциональные возможности через глобальный "отливать 'переменная:
//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js
Я хочу, чтобы загрузить этот скрипт в качестве модуля, используя systemjs вместо того, тег сценария в index.html.
Это приложение Angular2 и TypeScript, поэтому в некоторой службе MyService я хочу иметь возможность импортировать «бросок» и использовать его.
index.html
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
},
paths: {
'cast': '//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js'
},
meta: {
'//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js': {format: 'global'}
},
});
System.import('app/main')
.then(null, console.error.bind(console));
</script>
myService.ts
import {Injectable} from 'angular2/core';
import cast from 'cast';
@Injectable()
export class MyService {
public init =() => {
cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.NONE);
}
...
}
Образец приложения Angular2 + машинописи + Chromecast Приемник может быть клонирован из:
https://github.com/rmtuckerphx/angular2-chromecast-receiver-starterkit
Этот код в настоящее время не имеет никакого кода для загрузки «бросить», используя systemjs, но может быть быстро изменен путем обновления index.html и монолитно-приемника manager.service.ts
Ваш ответ заставил меня на правильном пути. Спасибо. Я удалил мета-раздел, положил ресивер в раздел пути и добавил «объявить var cast» в myService.ts. Кроме того, также добавлен в myService.ts строку: «import cast from« cast-receiver »; –