首页 > 解决方案 > 如何从 ASP.NET 框架运行 package.json 脚本

问题描述

我想在同一个服务中运行一个 Angular Web 应用程序和 WebAPI,为此我想从 .NET Framework 代码的 package.json 运行一个 npm start 脚本。

项目视图:https ://imgur.com/FNPVkqy (由于声誉无法发布图片)

我知道可以从 .NET Core代码中进行操作:

app.UseSpa(spa =>
            {
                spa.Options.SourcePath = "Angular";

                if (env.IsDevelopment())
                {
                    spa.UseAngularCliServer(npmScript: "start");
                }
            });

但是该项目需要是一个 .NET Framework项目,这样我才能使用旧的 .NET Framework dll。

标签: c#angulartypescriptasp.net-coreasp.net-core-mvc

解决方案


您可以在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>


推荐阅读