Angular 如何定义<;基本href="/项目名称/"&燃气轮机;对于Visual Studio发布的角度项目?

Angular 如何定义<;基本href="/项目名称/"&燃气轮机;对于Visual Studio发布的角度项目?,angular,visual-studio,build,.net-core,publish,Angular,Visual Studio,Build,.net Core,Publish,我有一个.Net Core API项目,其中包括Angular version 7项目,因此我不想每次手动更改index.html源代码 index.html <base href="/"> 或此命令的任何不同类型 我正在寻找一个解决方案来处理这个问题的配置或类似的东西 非常感谢 将其添加到用于构建脚本的package.json中 “构建”: 所以基于@savinn解决方案,它很有魅力,我试着再一次解释这个解决方案 在Angular project veriosn 7中,我有ind

我有一个.Net Core API项目,其中包括Angular version 7项目,因此我不想每次手动更改index.html源代码

index.html

<base href="/">
或此命令的任何不同类型

我正在寻找一个解决方案来处理这个问题的配置或类似的东西


非常感谢

将其添加到用于构建脚本的package.json中 “构建”:


所以基于@savinn解决方案,它很有魅力,我试着再一次解释这个解决方案

在Angular project veriosn 7中,我有index.hmtl,如下所示

index.html

<base href="/">
  <base href="/ProjectName/">
 <base href="/ProjectName/">
现在,当您通过Visual Studio 2017在IIS上发布项目时,它会运行此ng构建,在IIS上发布的index.html文件上,您可以看到以下内容

已在IIS上发布index.html,ClientApp\dist\index.html

<base href="/">
  <base href="/ProjectName/">
 <base href="/ProjectName/">


因此,在不更改index.html的情况下,您可以将应用程序作为开发模式运行,并通过VS publish在IIS上发布。

我将.net core MVC与Angular8项目一起使用

供参考:

我更新了csproj文件以设置npm构建操作的基本href

步骤:

  • 在csproj中使用
    msbuild元素
  • 用于根据生成配置参数设置base href变量

    <Choose>
    <When Condition="'$(Configuration)' == 'Debug' Or '$(Configuration)' == 'Release'">
      <PropertyGroup>
        <BaseHref>/</BaseHref>
      </PropertyGroup>
    </When>   
    <When Condition="'$(Configuration)' == 'environment'">
      <PropertyGroup>
        <BaseHref>/BaseHrefUrl/</BaseHref>
      </PropertyGroup>
    </When></Choose>
    
    
    /
    /贝瑟弗尔/
    
    是自定义元素

  • 在npm构建中使用BaseHref作为参数
  • 
    %(DistFiles.Identity)
    保存最新
    真的
    
  • 将生成配置更改为特定环境。
  • 根据“选择时间”条件,它将设置BaseHref

    npm运行构建--prod--base href/basehrefur/

    ng build“-prod”“--base href”“/basehrefur/”