我有一个基于 asp.net core 2.2 react 模板的应用程序
ClientApp 下的反应应用程序有我自己的反应应用程序构建脚本,它通过“npm run build”自定义脚本在 ClientApp 下的 lib 文件夹中编译东西。
更重要的是,该应用程序使用基于自定义节点/express 的 Web 服务器运行(clientapp 中的 npm run start 将启动一个 Web 服务器脚本,该脚本将侦听端口 6000)
我不能使用模板附带的标准反应开发服务器。asp.net核心层的startup.cs文件通过spa.UseProxyToSpaDevelopmentServer( http://localhost:6000 )使用
app.UseSpa (spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment ())
{
string reactDevServerUri = Configuration["ReactDevServerUri"];
spa.UseProxyToSpaDevelopmentServer(reactDevServerUri);
}
});
在 vs 2017 的调试会话期间,在 ClientApp\src 文件夹中的 typescript 文件发生任何更改时,我需要
1.Invoke 在 ClientApp\package.json 中的脚本“build”以编译 ClientApp\lib 文件夹中的反应应用程序 2.重新启动我的 Web 服务器通过脚本“开始”运行以选择 lib
3.Reload 浏览器中的新更改
目前我已经添加了一个“调试”脚本,它使用 nodemon 来跟踪反应应用程序的变化并在构建脚本后重新启动服务器
"debug": "nodemon -e ts,tsx --watch src --exec \"npm run build && npm run start\""
我仍然必须自己重新加载浏览器,并且在构建/启动完成之前它一直失败。我需要一种更好的方法来通过正确配置封装 asp.net 核心项目来一次性完成此操作。
请帮我想办法:)