Работаете со спа-сервисами в .NetCore 3.0?

9

Я разрабатываю веб-приложение SPA с использованием ASP.Net Core React + Redux.

После обновления до .Net Core 3.0 я вижу, что UseWebpackDevMiddleware и AddNodeServices устарели.

Я изучаю новый шаблон проекта React + Redux, но он не использует webpack или SSR.

1) Где я могу найти пример или информацию о работе с веб-пакетом в .Net Core 3.0? с UseWebpackDevMiddleware было очень легко настроить HMR и построить веб-пакет.

2) Где я могу найти пример или информацию о SSR с .Net 3.0 + React?

Алекс
источник

Ответы:

4

Я чувствую, что нахожусь в той же лодке, что и вы !!! Потратив последнюю неделю или около того с момента официального выпуска dotnetcore3, я попытался запустить что-то, что использует инфраструктуру SPA.

Поскольку ответов на этот вопрос не было, и я заинтересован в том, чтобы запустить SPA-сервисы, aspnetcore3я изучил различные шаблоны, поставляемые в Visual Studio. На данный момент шаблоны есть Angularи Reactкоторые используют aspnetcore3.

До этого есть шаблоны для Angular, Reactа также Aurelia. Для меня Аурелия выглядит великолепно - ванильные машинописные привязки. Поэтому я пытаюсь пойти по этому пути.

Мне удалось заставить HMR(Горячая замена модуля) работать. Я построил проект Aurelia, используя CLI. Тем не менее, мой проект имеет много настроек, и я все еще учусь WebPack. HMR в настоящее время не работает с Aurelia CSS.

Для моего сценария у меня было загружено клиентское приложение в VS Code. Я создал основной проект aspnet, который затем подключается к веб-пакету.

Я знаю, что вы спрашиваете конкретно о React, но концепция может быть такой же.

Некоторый код

Вы можете найти мой код здесь:

https://github.com/andez2000/spa-apps/tree/master/aurelia-cli/e1/aurelia-app

ПРИМЕЧАНИЕ: В настоящее время я просто добавляю вещи в этот репозиторий. Есть проекты, созданные из шаблонов, если вы перейдете на верхний уровень.

Применение

  1. Открыть папку spa-apps\aurelia-cli\e1\aurelia-appвVSCode
  2. Откройте project.csprojвVS2019
  3. Откройте терминал VSCodeи запустите npm start -- --hmrи дождитесь завершения вывода.
  4. Скомпилируйте и запустите решение в VS2019

Это должно открыть браузер по умолчанию и загрузить index.ejs.

Что нужно отметить

Номера портов в проекте dotnet и проекте aurelia должны быть связаны.

Startup.cs

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    ...
    app.UseSpa(spa =>
    {

        if (env.IsDevelopment())
        {
            spa.UseProxyToSpaDevelopmentServer("http://localhost:5000");
        }
    });
}

aurelia.json

  "platform": {
    "hmr": false,
    "open": false,
    "port": 5000,
    "host": "localhost",
    "output": "wwwroot/dist"
  },

Так что, возможно, это концептуально то же самое, что React. По какой-то причине мой шаблон React не может подключиться к IIS Express - и он сработал на днях - так что не в состоянии копать.

Для меня в этом проекте много движущихся частей. Хотелось бы, чтобы у меня было минимальное рабочее решение - оно включает в себя webpack + scss + некоторые фреймворки spa + dotnetcore3. Но есть тонна конфигурации и много файлов.

Другие ссылки

Также может быть стоит проверить этот пост в блоге:

https://www.alexdresko.com/2019/07/09/htmlwebpackplugin-asp-net-core-3/

Узнайте больше об аурелии здесь:

https://aurelia.io/

Надеюсь, кто-то даст вам лучший ответ - но это может помочь вам. Надеемся, что Microsoft обновит документы и примеры и предоставит нам более подробные рекомендации.

Обновление шаблона dotnet (апрель 2020 г.)

Я надеюсь, что обновленные шаблоны могут преодолеть различия между ядром aspnet и ядром dotnet с помощью веб-пакета. Так что надеемся, что это случай добавления новых шаблонов.

Посмотреть здесь:

https://github.com/NetCoreTemplates/aurelia-spa

Andez
источник