vue打包下来后打开的index.html页面是空白的

文章讲述了在完成Vue项目后,使用`npmrunbuild`打包导致页面空白的问题。问题在于静态资源路径引用错误,应使用相对路径`./`而非`/`。通过创建`vue.config.js`设置`publicPath`为`./`解决了页面显示部分内容的问题。然而,由于路由模式设为`history`,导致组件间无法跳转,将路由模式改为`hash`后,修复了跳转问题,使页面显示和路由功能恢复正常。
摘要由CSDN通过智能技术生成
完成项目后直接用 npm run build打包之后,直接打开 dist文件里面的 ndex.html可以看到页面是空白的,控制台是这样的。

1.首先打开的index.html的页面展示的效果如图:

2.查看index.html源码发现路径出错

对比 dist文件夹结构可以看到资源路径的引入是错误的,应该用 './'而不是 '/'

与资源路径对比,不在同一路经下要访问不同层级路径的文件时,应该跳出当前路径,可使用 ‘ ./ ’

3.修改路径文件

只需要在和 package.json 同级的地方新增一个 vue.config.js 文件,将路径修改为相对路径 './'
// vue.config.js
module.exports = {
    publicPath: './',
}
再次打包, 页面不是空白了,但还有很多东西没显示完,正常的页面是这个样子

但是改完 vue.config.js 文件 之后无法显示全,无法跨组件使用

4.路由模式 hash,实现组件跳转

原因:
新建项目什么都不动,路由模式:history, 直接npm run build打包会让组件之间 无法跳转!!!

解决方法:
改一下路由模式,找到router/index.js文件, 将history修改为hash, 再进行打包
// router/index.js
const router = new VueRouter({
  mode: 'hash',
  base: process.env.BASE_URL,
  routes
})
页面显示和路由跳转就都可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值