Ответ 1
Я считаю, что лучше всего иметь SPA в отдельный проект и даже лучше другой репозиторий, поскольку он более гибкий и поддерживает множество различных сценариев разработки/развертывания, особенно по мере увеличения вашего проекта.
Я лично начал с подхода к смешанным файлам и перешел на отдельный подход Репо за несколько дней после того, как проект вышел за рамки примеров Todos.
Некоторые из плюсов отдельных проектов/репозиций:
- лучший контекст поиска для поиска/замены или goto file/class.
- меньше файлов на проект/решение, поэтому визуальная студия не сканирует его колени.
- вы можете использовать разные редакторы, что проще, для вашего проекта в спа-центре, если вы получите лучшую поддержку javascript/ typescript, чем в VS (например, webstorm). Структура файла
- более читаема в окне проводника небольших решений, так как существует меньше вложенности
- разные люди могут работать независимо от интерфейса/бэкэнд
- ваш SPA может иметь собственное управление версиями, и вы можете смешивать и соответствовать версиям FE/BE по мере необходимости
- более простая непрерывная интеграция, поскольку вы не смешиваете интерфейс/бэкэнд выполнить шаги
- вы можете решить во время развертывания, если они будут размещены на
один и тот же хост или разные машины (после включения поддержки CORS) - Наконец, это делает ваш SPA первоклассным гражданином, а не просто вложенной папкой вашего веб-сайта.
На противоположной стороне я не могу думать о преимуществах использования SPA в качестве подпапки к WebApi, кроме, может быть, для очень маленьких проектов, которые вы хотите свести к минимуму сложности.