#svelte #google-cloud-run #svelte-3 #sveltekit
#стройный #google-cloud-run #svelte-3 #sveltekit
Вопрос:
Опишите ошибку: Я использую Google Cloud Run для запуска моего приложения svelte kit с адаптером узла. Кажется, он работает с версией по умолчанию, но с моим пользовательским доменом он не может загружать ресурсы в маршрутах [slug].svelte.
Версия по умолчанию:
https://youernes-22w6ta6irq-ew.a.run.app/yhoyquetoca
https://youernes-22w6ta6irq-ew.a.run.app/planes/UEVytEBG6rfcLrdqflD8TsjmCRn2_1611080173358
Пользовательская версия домена:
https://youernes.com/yhoyquetoca
https://youernes.com/planes/UEVytEBG6rfcLrdqflD8TsjmCRn2_1602059251917
В пользовательской версии домена я не могу получить доступ к информации, хотя он может извлекать данные из модуля скрипта.
Я использую адаптер узла, и это моя следующая конфигурация:
const sveltePreprocess = require("svelte-preprocess");
const node = require('@sveltejs/adapter-node');
const pkg = require('./package.json');
/** @type {import('@sveltejs/kit').Config} */
module.exports = {
preprocess: [
sveltePreprocess({
defaults: {
style: "postcss",
},
postcss: true
}),
],
kit: {
hostHeader: 'X-Forwarded-Host',
// By default, `npm run build` will create a standard Node app.
// You can create optimized builds for different platforms by
// specifying a different adapter
adapter: node(),
// hydrate the <div id="svelte"> element in src/app.html
target: '#svelte',
vite: {
ssr: {
noExternal: Object.keys(pkg.dependencies || {})
}
}
}
};
1-й запуск
npm run build
и 2-й я использую docker
ИЗ узла: 12.17
WORKDIR / youernes
ПОРТ ENV = 8080
ENV HOST = 0.0.0.0
КОПИРОВАТЬ . .
CMD [ «node», «build /» ]
При доступе к папке planes я получаю следующие ошибки:
GET https://youernes.com/_app/pages/planes/[slug].svelte-098e0796.js net::ERR_ABORTED 404
GET https://youernes.com/_app/assets/pages/planes/[slug].svelte-377bb070.css net::ERR_ABORTED 404
Failed to fetch dynamically imported module: https://youernes.com/_app/pages/planes/[slug].svelte-098e0796.js
TypeError: Failed to fetch dynamically imported module: https://youernes.com/_app/pages/planes/[slug].svelte-098e0796.js
Как воспроизвести проблему, чтобы получить решение:
Вы должны реализовать с помощью адаптера узла один проект svelte kit с [slug].svelte routes, а затем реализовать его с помощью Google cloud run с пользовательским доменом.
Может ли кто-нибудь мне помочь или даже попробовать это?
Большое спасибо всем.
Комментарии:
1. Попробуйте сначала «npm install» в вашем образе сборки? Есть ли у вас запись в журнале из вашего docker, что служит для «сборки узла /»?
Ответ №1:
Наконец, я решил проблему, сопоставив пользовательские домены в Google Cloud run 🏃