写一个Webview本地加html的项目,html用vite vue3写,打包后http访问没有问题,放在APP内file访问白屏报错,查了2天无解。最终看到Vue3 Vite项目打包静态文件之后无法以file协议访问找到思路。在此文启发下做了些改善记录。
一、文件访问路径URL
vite默认根目录"/",file://…访问需要基于的路径,改
//
export default defineConfig({
base: "./",
...
})
二、跨域问题
vite默认启用ES Module,跨module加载引用涉及跨域,file://…没有跨域的定义,改
pnpm add @vitejs/plugin-legacy -D
pnpm add terser -D
//
import viteLegacyPlugin from "@vitejs/plugin-legacy";
export default defineConfig({
...
plugins: [
viteLegacyPlugin({
renderModernChunks: false,
}),
...
]
})