Хорошо, думаю, мне удалось заставить его работать.Возможно, это не лучшее решение, но оно здесь.
Сначала я создал файл js, в котором содержится объявление модуля:
appDependencies = [];
app = angular.module('myApp', appDependencies);
Все контроллеры и службы Angular 1.xиспользуйте глобальную переменную app
примерно так:
(function(app) {
'use strict';
app.controller('mainController', [
function () {
console.log("blah");
}]);
})(app);
Наконец, файл TS модуля Angular 1.x использует глобальную app
и добавляет к ней зависимости:
...
declare const app: any;
declare var appDependencies: any;
export const appModuleAngularJS = app;
angular.forEach([
uiRouter, upgradeModule.name
], module => {
appDependencies.push(module);
});
...
const statesConfigBlock = ['$stateProvider', $stateProvider => {
$stateProvider.state('main', {
url: '/main',
templateUrl: 'app/components/layout/mainView.html',
controller: 'mainController as main'
})
}];
appModuleAngularJS.config(statesConfigBlock);
...
Теперь порядок импорта js в файл index.html
действительно важен.Сначала должен быть файл замедления app
, затем все контроллеры и службы Angular 1.x, а затем файлы * .ts, которые были перенесены в файл js.
Это решение сработало для меня, но я 'Я более чем счастлив читать лучше.
Ура!