Развертывание основных JavaScript-сервисов ASP.NET на отказавшем узле Azure
У меня установлена Visual Studio 2017 R3 и биты выпуска ASP.NET Core 2.0. Когда я создаю новое веб-приложение с реакцией, оно работает локально, и при развертывании в Azure нет проблем (как и ожидалось). Я хочу добавить узел к смеси и статью, написанную для ядра 2.0
https://docs.microsoft.com/en-us/aspnet/core/client-side/spa-services
говорит:
Примечание. При развертывании на веб-сайте Azure вам не нужно ничего делать здесь - Node.js установлен и доступен в серверных средах.
Я следую инструкциям в этой статье о том, как добавить nodeservices, и это работает локально. Мои шаги:
добавить services.AddNodeServices(); создать О контроллере и посмотреть положить myNodeModule.js
При развертывании в Azure появляется ошибка, когда я просматриваю
http://webapplication220170908032616.azurewebsites.net/home/about
Я добавил переменную среды ASPNETCORE_ENVIRONMENT и установил для нее значение Production. Я подтвердил это, добавив помощник по тегам на другую страницу.
Я вижу ошибку:
Произошла ошибка при обработке вашего запроса. Идентификатор запроса: 0HL7N1AN8GM1N:00000002
Я давно не пользовался лазурью, поэтому немного ржавый.
2 ответа
У меня была эта проблема, и я обнаружил, что это связано с тем, что версия Node, установленная по умолчанию, была v4.8.2 (текущая стабильная версия для Ubuntu 16.04). Я запустил следующий скрипт для установки Node 8.x:
cd ~
apt-get update && apt-get install -y gnupg
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
# You might want to inspect nodesource_setup.sh before blindly running it
# vi nodesource_setup.sh
bash nodesource_setup.sh
apt-get install -y nodejs
(Предоставлено DigitalOcean: https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-16-04)
Теперь мой nodejs v8.11.2, и мое основное приложение dotnet может работать с NodeServices.
По моему опыту, развертывания в Azure для.NET Core завершились неудачно, когда в файле.csproj не был указан правильный идентификатор времени выполнения.
Я использую следующее в своих проектах и перестал видеть ошибки.
<PropertyGroup>
<RuntimeIdentifiers>win7-x64</RuntimeIdentifiers>
</PropertyGroup>