c# - 如何从 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。
解决方案
您可以在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>
推荐阅读
- c# - 如何在 C# 中对同步方法进行异步调用
- java - 使用自定义 Getter/Setter 访问 Thymeleaf 中的字段
- javascript - 如何生成基于 HTML DOM + 视频的图像?
- android - android tv 受限配置文件是否允许应用程序自动更新?
- node.js - 转换后无法重定向视频流(mkv 到 mp4)
- angular - 如何获得比“bundle.js 的第 4308490384 行”更有意义的堆栈跟踪?
- java - 以下哪种 SQLite 数据库方法在存储使用和查找速度方面更高效?
- machine-learning - Memory_size and memory_counter in DeepQNetwork
- java - CompletableFuture 的命名线程
- clojurescript - 重启!在试剂原子上没有按预期工作