Vue3 vite build 之后不显示页面内容,只显示空白,也没有报错,如何解决
1、修改 vite.config.js
添加 base,意思是 build 之后的外部资源都从当前目录的相对路径获取。
比如 main.js
不是 /main.js
而是 ./main.js
vite.config.js
export default defineConfig({
base: './',
})
vite环境下增加配置base: './',如果是vue2 webpack环境则写为publicPath:'./'。
2、需要修改 router.js 中的 history 选项
默认是createWebHistory,需要修改为createWebHashHistory
router.js
import { createRouter, createWebHashHistory } from 'vue-router'
const router = createRouter({
history: createWebHashHistory(),
})
3、语法报错导致页面空白
打开报错的JS文件,发现了第二个问题
这个js文件其中一行写了两个问号??,这个是ES2020的新语法,例如:a ?? b
意思是当a的值是undefined或者null 的时候,就返回b
我猜测这个es2020标准,我测试用的这两款浏览器都不认,于是将目标限制在ES2015。
vite.config.js
export default defineConfig({
build:{
target: "es2015"
},
})