Я хочу import
angular, создать экземпляр модуля AngularJS, а затем импортировать другой файл, который требует, чтобы экземпляр Angular уже был создан:
import angular from 'angular';
var app = angular.module('app', []);
import 'src/app.js';
angular.element(window).ready(function(){
angular.bootstrap(document, ['app']);
});
Но Babel компилирует его в это (TLDR: поднять весь импорт наверх)
System.register([], function (_export2) {
return {
setters: [],
execute: function () {
System.register(['angular', 'src/app.js'], function (_export) {
var angular, app;
return {
setters: [function (_angular) {
angular = _angular.default;
}, function (_srcAppJs) {}],
execute: function () {
app = angular.module('app', []);
angular.element(window).ready(function () {
angular.bootstrap(document, ['app']);
});
}
};
});
}
};
});
ОБНОВЛЕНИЕ: @just-boris
Я был хорошо осведомлен о System.import().then
. Проблема в том, что app.js также import
s файлы, которые создают компоненты Angular, которые требуют создания экземпляра module
.
Пример импортированного файла:
angular.module('app').controller( [ function () {} ] );
System.import().then
не ждет, пока дерево зависимостей будет разрешено, потому что оно не имеет смысла.
System.import('app').then(function(){
// But wait, app.js's dependencies aren't resolved!
// The Angular components aren't loaded yet!
// The following will throw errors:
angular.element(window).ready(function(){
angular.bootstrap(document, ['app']);
});
});