在Azure上使用ReactJS在开发模式下发布asp.net Core 2.0 WebApp

时间:2018-01-12 12:57:06

标签: reactjs development-environment asp.net-core-2.0 webpack-hmr

我有一个使用asp.net Core 2.0和ReactJS的网络应用程序。 如果我在生产环境中的Azure中发布应用程序一切顺利。

但是当我尝试将其更改为开发(在应用程序设置中添加具有值开发的关键ASPNETCORE_ENVIRONMENT)时,应用程序在启动时崩溃。

更准确地说,尝试执行此操作的配置方法:

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
        {
            HotModuleReplacement = true,
            ReactHotModuleReplacement = true
        });
    }

它会抛出这样的错误:

  

启动应用程序时发生错误。   AggregateException:发生一个或多个错误。 (尝试连接到节点在60000ms后超时。   )   System.Threading.Tasks.Task.GetResultCore(bool waitCompletionNotification)

     

NodeInvocationException:尝试在60000ms后连接到节点超时。   Microsoft.AspNetCore.NodeServices.HostingModels.OutOfProcessNodeInstance + d__13.MoveNext()

我尝试在本地发布它,但与Azure中的相同。

任何人都可以帮我正确配置它吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

我们也在Azure中托管我们的网站,我的解决方案是将此配置键/值添加到应用程序设置中。

键:WEBSITE_NODE_DEFAULT_VERSION 值:6.9.1

我想你也可以将它添加到appsetting.json或web.config中。

答案 1 :(得分:0)

好了,经过长期的奋斗,我找到了解决这个问题的方法。

  1. 首先使用最新版本在Azure WebApp设置-WEBSITE_NODE_DEFAULT_VERSION中设置应用程序设置。在我的情况下,我使用了与我的开发机器环境匹配的8.9.4版节点。

  2. VSTS中的Azure部署任务具有运行脚本后部署的功能,我们可以在其中运行“ npm i -g”,它将从wwwroot文件夹中选择package.json文件。

    < / li>

尝试一下并在此处更新。