Я пишу приложение AngularJS
с TypeScript
в качестве транспилятора и SystemJS
для загрузки модуля. Я пытаюсь загрузить модуль angular-ui-router
для настройки маршрутизации, но не могу этого сделать. Я получаю эту ошибку:
angular.js:38 Uncaught Error: [$injector:modulerr]
Это сценарий:
import * as angular from "angular";
import * as router from "angular-ui-router";
const app: angular.IModule = angular.module("my.website", ["ui.router"]);
app.config((stateProvider: router.IStateProvider) => {
...
});
Вот как транспилируется скрипт:
System.register(["angular"], function(exports_1, context_1) {
...
Как видите, angular-ui-router не зарегистрирован, поэтому модуль не загружен. Почему? Что я делаю не так?
Для полноты: это конфигурация SystemJS:
System.config({
defaultJSExtensions: true,
map: {
"angular": "https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js",
"angular-ui-router": "https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js"
}
});
Это соответствующие настройки TypeScript:
"target": "es5",
"module": "system"
Я загрузил файлы определения TypeScript, используя typings
.
Транспиляция выполняется gulp-typescript
.
Любые подсказки?