Насколько я понимаю, для создания маршрута в sveltekit нужно следовать таким правилам:
src/routes
Если мне нужен такой маршрут, как https://example.com/users/:userId
, мне нужно создать файл [user-id].svelte
внутри каталога src/routes/users/
. Ясно.
Но.
Что, если я хочу, чтобы все компоненты, связанные со страницей, располагались рядом со страницей?
я бы сделал что-то вроде этого
- src/
- routes/
- users/
- components/
- avatar.svelte
[user-id].svelte
Теперь я могу использовать этот компонент в качестве маршрута (например, https://example.com/users/components/avatar
).
Как предотвратить это? Я не хочу, чтобы мои компоненты рассматривались как маршрут
Файлы и каталоги с префиксом _
игнорируются SvelteKit, поэтому вы можете иметь свой компонент в src/routes/users/_components/avatar.svelte
.
Я только что обнаружил, что sveltekit называет это частными модулями. См. kit.svelte.dev/docs/routing#private-modules
Принятый ответ - прекрасное решение, другой вариант - иметь папку компонентов в каталоге lib. Когда вы импортируете на страницу, вам нужно только: «импортировать Comp из '$lib/components... и т. д.».