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