如何解决使用自定义域在 Google Cloud Run 中实现一个 sveltekit 项目时无法加载资源
描述错误: 我使用 Google Cloud Run 通过节点适配器运行我的 svelte 套件应用程序。 它似乎适用于默认版本,但对于我的自定义域,它无法加载 [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 || {})
}
}
}
};
第一次我跑 npm 运行构建
和 第二个我使用docker
来自节点:12.17
工作目录 /youernes
环境端口=8080
环境主机=0.0.0.0
复制。 .
CMD [ "node","build/" ]
当我访问飞机文件夹时,出现以下错误:
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
如何重现问题以获得解决方案: 您必须使用节点适配器实现一个带有 [slug].svelte 路由的 svelte 套件项目,然后使用带有自定义域的 google cloud run 实现它。 有人可以帮助我甚至尝试过吗?
非常感谢大家。
解决方法
最后我通过在 google cloud run 上映射自定义域解决了这个问题 ?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。