Как я могу запустить React в режиме разработки с .NetCore в IIS? - PullRequest
1 голос
/ 05 июня 2019

Я использовал шаблон Visual Studio для веб-приложения .NetCore / React. По умолчанию он работает в режиме разработки с использованием IIS Express. Однако, если я настраиваю сайт в IIS и запускаю профиль, я получаю сообщение об ошибке в браузере:

AggregateException: произошла одна или несколько ошибок. (Одна или несколько ошибок произошло. (Сценарий NPM 'start' вышел без указания на то, что Сервер создания-реакции-приложения прослушивал запросы. Вывод ошибки был: Ошибка: EPERM: операция не разрешена, mkdir 'C: \ Windows \ System32 \ Config \ systemprofile \ AppData \ Roaming \ НПМ'

Мой файл 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"); }
});

1 Ответ

0 голосов
/ 06 июня 2019

Согласно вашему описанию, я предлагаю вам сначала изменить идентификатор пула приложений IIS по умолчанию, чтобы убедиться, что у него есть разрешение на запуск npm.

Я предлагаю вам выполнить следующие шаги:

1. Откройте консоль управления IIS, найдите пул приложений, найдите пул приложений по умолчанию и щелкните расширенный параметр.

enter image description here

Найдите настройки идентификатора и измените встроенную учетную запись на localsystem

enter image description here

Тогда я предлагаю вам добавить путь npm всистемная среда.

  1. Перейдите в Панель управления \ Система и безопасность \ Система и найдите дополнительные настройки системы

enter image description here

2. Щелкните переменную среды

enter image description here

3. Найдите путь внутри системной переменной и добавьте путь npm, как показано ниже:

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

enter image description here

...