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

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

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

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

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

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


person alex    schedule 02.10.2019    source источник


Ответы (1)


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

Учитывая, что на этот вопрос не было ответов, и я очень хочу, чтобы службы SPA работали для aspnetcore3, я изучил различные шаблоны, поставляемые в Visual Studio. В настоящее время шаблоны Angular и React используют aspnetcore3.

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

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

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

Я знаю, что вы спрашиваете конкретно о 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");
        }
    });
}

аурелия.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 с webpack. Так что надеюсь, что дело в добавлении новых шаблонов.

Глянь сюда:

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

person Andez    schedule 10.10.2019