Как определитьдля углового проекта от Visual Studio Publish? - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть проект .Net Core API, который включает в себя проект Angular версии 7, поэтому я не хочу каждый раз менять исходный код index.html вручную,

index.html

<base href="/">

вручную каждый раз, когда я собираю версию для разработки (VS -> href = "/" -> IIS Express), а затем собираю рабочую версию с помощью публикации Visual Studio (VS-> href = "/ ProjectName /" -> щелкните правой кнопкой мышиВ Project -> Publish ...), я считаю, что это не имеет смысла!

NB. Поскольку я публикую и строю угловой проект с помощью функции публикации VS, я не имею доступа к этим командам,

ng build --prod --base-href /ProjectName/ 

или любой другой тип этой команды

Я ищу решение для решения этой проблемы с помощью конфигурации или чего-то подобного.

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

На основании решения @savinn, которое работает замечательно, я попытаюсь объяснить решение еще раз,

В угловом проекте veriosn 7 у меня есть index.hmtl, вот так

index.html

<base href="/">

правильно работает для запуска приложения в режиме разработки на IIS Express (F5),

но для производственного режима вам нужно определить имя projcet как это

index.html

  <base href="/ProjectName/">

но вы не можете изменять его каждый раз и регистрировать свой исходный код, поэтому на основе решения @savinn вы можете установить

package.json

 "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --prod --aot --base-href /ProjectName/",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

теперь, когда вы публикуете свой проект в IIS в Visual Studio 2017, он запускает эту сборку ng, и в опубликованном файле index.html в IIS вы можете увидеть это

Опубликовал index.html в IIS, ClientApp \ dist \ index.html

 <base href="/ProjectName/">

, поэтому, не изменяя index.html, вы можете запустить приложение в режиме разработки и опубликовать его с помощью VS publish в IIS.

0 голосов
/ 03 апреля 2019

Добавьте его в package.json для скрипта сборки "build":

ng build --prod --aot  --base-href /ProjectName/
...