? Как добавить новые зависимости маршрутизатора в проект 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
или вы можете добавить ссылку на код роутера
<
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