dotnet发布后运行有角度的产品发布

Evo*_*net 7 visual-studio-code asp.net-core dotnet-cli angular

我有一个ASP.NET Core 2.0应用程序,并且Angular 5 SPA托管在同一文件夹中。

当前要部署到IIS,我需要执行以下操作:

// First publish the release configuration
dotnet publish -c release 
// Now delete the wwwroot directory as it is pulished with ng build
rm -r bin/release/netcoreapp2.0/publish/wwwroot
// Build the prod version of the angular app
ng build --prod
// copy the new wwwroot folder into the publish folder
cp -R wwwroot bin/release/netcoreapp2.0/publish/
Run Code Online (Sandbox Code Playgroud)

这非常令人困扰...我如何告诉dotnet publish运行ng build --prod?

我尝试将以下内容添加到我的项目csproj文件中:

<Target Name="AngularBuild" AfterTargets="Publish">
  <Exec Command="npm run build --prod" />
</Target>
Run Code Online (Sandbox Code Playgroud)

Set*_*Set 3

您可以使用任何任务运行程序或自定义脚本来一一调用所有这些命令。

例如,您可以在以下位置定义自定义 npm 脚本package.json

{
  ...
  "scripts": {
    "apppublish": "dotnet publish -c release && npm run build --prod",
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

然后npm run apppublish在需要发布应用程序时调用即可。