? Как добавить новые зависимости маршрутизатора в проект Angular2?

Я следил за начальным приложением по адресу: "Учись за 5 минут" на https://angular.io/. Я хочу начать пытаться использовать "новый" маршрутизатор, но когда я делаю:

import {...} from 'angular2/router';

Я получаю:

 error TS2307: Cannot find external module 'angular2/router'.

Могу ли я добавить эту зависимость способом, аналогичным тому, как был установлен angular2. А именно, похож на:

tsd query angular2 --action install

5 ответов

tsd install добавит только файлы определения типа, используемые TypeScript.

Я не верю, что 5-минутная демонстрация настроена для использования маршрутизатора. Если вам нужно быстрое решение, добавьте ссылку на код роутера <script src="https://code.angularjs.org/2.0.0-alpha.28/router.dev.js"></script> с соответствующим номером версии.

Возможно, лучшей альтернативой было бы использование одного из множества угловых шаблонов. Нет особого смысла приближаться к кривой обучения настройке, так как она будет значительно упрощена после того, как Angular покинет альфа

Вы получаете эту ошибку, потому что модуль angular2/router не защищает ваш tsd.d.ts файл. Вы можете выйти из этой ошибки этими методами.

1 команда для установки набора и добавить в качестве ссылки в файле tsd.d.ts.

tsd install angular2/router --save
  1. или вы можете добавить ссылку на код роутера

    < script src="https://code.angularjs.org/2.0.0-alpha.37/router.dev.js"></script>

Я надеюсь, что после этого вы получите решение вашей проблемы.

Начиная с Angular 2.0 alpha 30, проще использовать маршрутизатор. Вот пример того, как его использовать: http://www.syntaxsuccess.com/viewarticle/routing-in-angular-2.0

Маршрутизатор содержится в отдельном пакете

tsd install angular2/router --save

Для импорта используйте:

import { 
    ROUTER_DIRECTIVES,
    ROUTER_PROVIDERS,
    RouteConfig,
} from 'angular2/router';

ROUTER_DIRECTIVES добавляется в ваш @View.directives имущество. Включает в себя RouterLink а также RouterOutlet классы.

RouteConfig требуется добавить @RouteConfig декоратор для вашего компонента.

ROUTER_PROVIDERS требуется для начальной загрузки вашего роутера. Он включает в себя RouteConfig (т.е. ваши определенные маршруты) и наборы PathLocationStrategy как ваш по умолчанию LocationStrategy,

Ex.

bootstrap(App, [
    ROUTER_PROVIDERS,
]);

Вам нужно угловое определение маршрутизатора. Я исправляю проблему, используя ng2.d.ts из https://github.com/angular-class/angular2-webpack-starter

Другие вопросы по тегам