先说一下背景,我们线上运行这一个网站,举个例子,域名比如是:www.abc.com
我们又开发了一个项目,部署在这个域名的二级域名下:www.abc.com/newlist
问题一:
一些css,js文件找不到,报了404
解决:
在 vite.config.ts 文件中
export default defineConfig(({ mode, command }) => {
const env = loadEnv(mode, process.cwd());
const { VITE_APP_ASSETS_BASE_URL } = env;
return {
base: VITE_APP_ASSETS_BASE_URL,// VITE_APP_ASSETS_BASE_URL 为 /newList/
};
});
说明:
部署生产环境和开发环境下的URL。
默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
例如 www.ruoyi.vip/ 。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 www.ruoyi.vip/admin/ ,则设置 baseUrl 为 /admin/。
问题二
直接访问 www.abc.com/newlist 会 404。
解决:
在 router 中配置一下。
const router = createRouter({
// import.meta.env.VITE_APP_ASSETS_BASE_URL 也是 /newList/
history: createWebHistory(import.meta.env.VITE_APP_ASSETS_BASE_URL),
routes: constantRoutes
});