2016-06-10 2 views
3

, если я создаю приложение angular2, я могу легко войти в папку моего dev, дважды щелкнуть по моему index.html, и браузер откроет страницу и отобразит все ресурсы приложение справа - без какого-либо локального dev-сервера.angular2 <base href = "/"> запутанный браузер

Но когда я добавляю тег <base href="/"> в index.html, что мне НЕОБХОДИМО работать на маршрутизаторе углового, браузер больше не может загружать страницу.

Использование dev-сервера это прекрасно работает.

Может кто-нибудь объяснить мне, в чем причина?

+0

Что вы еще добавили? –

+0

См. Также http://stackoverflow.com/questions/34535163/angular-2-router-no-base-href-set/34535256#34535256 –

+0

Я добавил его непосредственно после тега ''. –

ответ

13

Когда вы используете <base href="/"> и открываете базу данных index.html непосредственно, это файл file:///C:/ или аналогичный, в зависимости от того, где находится ваш файл.

Одним из решений является использование относительного пути: с базой <base href="./"> будет текущая папка, в которой находится ваш файл. Вы можете использовать это, если вам нужно запустить приложение с USB-накопителя, например

+0

Когда у меня было' 'мое угловое решение 2 работало локально с nodejs, но когда я копировал файлы через IIS на нашем сервере, я получил 404 для всех скриптов и css-файлов в индексе. Добавление '.' Перед '/' заставляет его работать. Спасибо. –

0

У меня есть виртуальный каталог в IIS 7.5 с именем/ang2, который указывает на C: \ Apps \ hello-world \ dist. Я создаю проект с помощью angular-cli (т.е.: «ng build --target = production» или «ng build target = development»). Если я изменю base href на ./, он работает. Я также получил его работу с ./ang2. Я еще не тестировал какую-либо маршрутизацию, поскольку это просто проект, созданный с помощью команды «Новый привет-мир».

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