Не удалось загрузить ресурс при реализации одного проекта sveltekit в облаке Google, выполняемого с пользовательским доменом

#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 🏃