我想在同一个服务中运行Angular Web应用程序和WebAPI,并且要从.NET Framework代码中的package.json运行npm启动脚本。
项目视图:https://imgur.com/FNPVkqy(由于声誉而无法发布图片)
我知道可以通过.NET Core 代码进行操作:
app.UseSpa(spa =>
{
spa.Options.SourcePath = "Angular";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
但是该项目必须是.NET 框架,这样我才能使用旧版.NET Framework dll。
答案 0 :(得分:0)
您可以在csproj中添加此设置
<Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
<!-- Ensure Node.js is installed -->
<Exec Command="npm run something" ContinueOnError="true">// add your npm script here
<Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
</Exec>