Это очень самоуверенный вопрос, заслуживающий самоуверенного ответа.
Имена файлов
Имена файлов разделены по нескольким причинам.
1) это то, как Angular это делает, а Nest вдохновлен Angular
2) это означает, что ОС, которые обрабатывают имена файлов в верхнем и нижнем регистре как одно и то же, не путаются (например, MacOS)
3) это дает разработчику удобную точку разделения в имени файла для посмотрите на
4) некоторые инструменты в редакторах файлов могут отображать разные значки в зависимости от имени файла. .ts
может не означать ничего, кроме файла машинописного текста, но .service.ts
означает служебный файл, написанный на машинописном тексте. (Тема значка материала с VSCode дает разные значки)
Экспорт
Другая проблема, которую вы поднимаете, называется по сравнению с экспортом по умолчанию. В них нет большой разницы, кроме того, как работает импорт, но важно признать, что с именованным экспортом (export class <ClassName>
) вы должны импортировать этот класс в другой файл с тем же именем. (хотя вы можете дать ему псевдоним, используя as
). С default exports
вы можете экспортировать что угодно по умолчанию один раз для каждого файла, но вы можете импортировать это в другой файл с любым именем. Так что, если хотите, можете иметь export default MyClass
, а затем import SomethingNotRelatedToTheName from path/to/MyClass
.
Если вы серьезно относитесь к этому, вы всегда можете переписать и переименовать имена файлов и экспортируемые файлы, но не ожидайте, что Nest изменит это за вас, поскольку это самоуверенный фреймворк.