3

我有一个基于 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 核心项目来一次性完成此操作。

请帮我想办法:)

4

0 回答 0