[英]Can't load assets in an app which is served with a rewrite on Vercel
资产未加载 (HTTP 404) 正在重写的应用程序。
你好。 我正在使用 turborepo 创建一个网站。 我有两个不同的应用程序( RootApp
和一个SideProject
)。 他们都被部署到 Vercel。 我已将RootApp
配置为在自定义域上提供服务。 我一直在关注这篇试图配置重写的博文。
RootApp
是一个 Astro 项目,它有一个vercel.json
来源:
// vercel.json
{
"rewrites": [
{
"source": "/projects/<SideProjectName>",
"destination": "<SideProjectProdUrl>"
}
]
}
SideProject
是一个 Vite/React 应用程序。 我已将其配置为具有这样的basePath
// vite.config.js
import react from '@vitejs/plugin-react'
import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({
base: '/projects/<SideProjectName>/',
plugins: [react()],
})
RootApp
良好,但当我导航到<custom-domain>/projects/<SideProjectName>
,只有 HTML 请求有效。 CSS
和JS
的资产请求都以404
失败。 他们请求<custom-domain>/projects/<SideProjectName>/assets/...
我需要配置什么才能使资产正常工作?
要解决此问题,我必须为资产添加重定向。
// vercel.json
{
"redirects": [
{
"source": "/projects/<SideProjectName>/assets/:filePath",
"destination": "<SideProjectProdUrl>/assets/:filePath",
"permanent": true
}
],
"rewrites": [
{
"source": "/projects/<SideProjectName>",
"destination": "<SideProjectProdUrl>"
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.