Плюсы / минусы использования ASP. NET Core 3 с одним постраничным приложением - PullRequest
4 голосов
/ 18 апреля 2020

Чтобы быть более понятным, представьте "веб-приложение", которое разделено на два сайта: HTML (Web) и API. Мой вопрос касается преимуществ использования ASP. NET Core 3 с веб-сайтом. Например:

Плюсы:

  • Если вы разместите свой SPA на странице Razor, вы можете легко и надежно получить истинные root приложения установить тег HTML base (обратите внимание на ~). Лично я не знаю другого способа достичь этого результата без бэкэнда.
    <!DOCTYPE html>
    <html>
    <head>
        <base href="~/" />
    </head>
    ...
    </body>
    </html>
    
  • Microsoft.AspNetCore.Builder.SpaApplicationBuilderExtensions.UseSpa(...) создает запасной маршрут, позволяющий вашему SPA интеллектуально реагировать на ситуации, подобные 404. Это потенциально может быть сделано с помощью чего-то вроде перезаписи URL в IIS, но это настройка, которую я не особо хочу сделать.
  • Вышеупомянутый запасной маршрут также исключает необходимость использования # в URL-адресах вашей страницы. Я не знаю, как сделать это иначе.
  • Встроенная поддержка ведения журнала и диагностики * Поддержка 1048 * - я считаю. NET Регистрация и диагностика в Core 3 гораздо более доступны, чем в IIS.
  • Он есть, если / когда вам это нужно. Кто может с уверенностью сказать, что им никогда не понадобится серверная среда в их приложении? Это просто добавить ценность в моей книге, поэтому я считаю, что лучше всего начать с базового фреймворка с самого начала.

Минусы:

  • Использование ASP. NET Ядро может оказать небольшое влияние на производительность?
  • Это дополнительное требование к настройке. На самом деле наш API работает с ASP. NET Core 3. Нам уже нужно установить одно. NET Core 3 приложение (API), поэтому установка второго приложения (Web) практически не требует дополнительных усилий. А что, если вы опубликуете sh свой код как полностью автономное приложение?
  • «Это много файлов» - это то, что, как я знаю, говорит кто-то, поэтому я включил его сюда, если честно. Но я признаю, что просто так не вижу.
  • Это еще один этап компиляции
  • Не каждый знает. NET Core 3.
  • Это еще одна точка отказа

Можете ли вы вспомнить какие плюсы или минусы добавить? Я ошибаюсь в своих утверждениях?

...