2015-11-27 3 views
0

У меня проблемы с использованием угловых компонентов в приложении ES5 angularJS с requireJS. Когда я использую angular2.dev.sfx.js то я могу использовать follwing код для самозагрузки:Используйте Angular2 componentsets (TypeScript) в приложении AngularJS (обычный старый ES5)

define([ 
'nxApp', 
'nxRoute', 
], 
    function(nxApp, nxRoute){ 
    var upgradeAdapter = new ng.UpgradeAdapter(); 
    upgradeAdapter.bootstrap(document.body, ['nxApp']); 
    return upgradeAdapter; 
}); 

Но тогда я не могу использовать импорт {Component} от «angular2/angular2» в машинописных, потому что это приводит к define (['angular2/angular2'] ... который, в свою очередь, приводит к ошибке скрипта, поскольку скрипт не может быть загружен beacuse requireJS ищет angular2.js в корневой папке приложения, но там его там нет.

Когда я использую angular2.dev.js и system.js, тогда работают скрипты TypeScripts, но я не могу получить ссылку для углового 2 в моем загрузочном коде es5. Ng ist больше не определено. Попытка разместить angular2/angleular2 в определении меняет ошибку ann что общий модуль не был загружен.

Возможно ли вообще использовать угловые 2 машинописных компонента в приложении ES5?

Спасибо.

ответ

1

Мне пришлось преобразовать часть Javascript ES5, чтобы использовать System.js. Он имеет аналогичную конфигурацию RequireJs, shims должен быть заменен на meta.

С этим я могу загрузить angular2.dev.js и system.js, как это показано в угловом 2 Quickstart. require ('angleular2/angular2') можно было бы использовать для получения углового2 из javascript ES5.

Смежные вопросы