【问题标题】:How can I run React in Development mode with .NetCore in IIS?如何在 IIS 中使用 .Net Core 在开发模式下运行 React?
【发布时间】:2019-06-06 17:32:05
【问题描述】:

我已将 Visual Studio 模板用于 .NetCore/React Web 应用程序。默认情况下,它使用 IIS Express 在开发模式下运行。但是,如果我在 IIS 中设置站点和启动配置文件,我会在浏览器中收到错误:

AggregateException:发生一个或多个错误。 (一个或多个错误 发生了。 (NPM 脚本 'start' 退出但没有表明 create-react-app 服务器正在监听请求。错误输出 是:错误:EPERM:不允许操作,mkdir 'C:\Windows\system32\config\systemprofile\AppData\Roaming\npm'

我的 launchSettings.json 包含以下 IIS 配置文件:

"IIS": {
      "commandName": "IIS",
      "launchBrowser": true,
      "launchUrl": "http://localhost",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }

从错误来看,这可能是我需要在其下运行 IIS 应用程序池的权限问题,但我找不到任何文档可以告诉我任何相关信息。

我错过了什么?同样,这是模板中未修改的项目。 Startup.cs 正在按预期运行 React:

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

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

【问题讨论】:

    标签: reactjs asp.net-core iis-10


    【解决方案1】:

    根据你的描述,我建议你可以先修改一下IIS默认应用池的标识,确保它有运行npm的权限。

    我建议您可以按照以下步骤操作:

    1.打开IIS管理控制台,找到应用程序池,找到默认应用程序池,点击高级设置。

    1. 找到身份设置,将内置账号修改为localsystem

    那我建议你可以在系统环境中添加npm路径。

    1. 转到控制面板\系统和安全\系统并找到高级系统设置

    2.点击环境变量

    3.找到系统变量里面的路径,添加npm路径如下:

    C:\Users\{username}\AppData\Roaming\npm 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多