Vue项目打包,如何双击index.html即可静态访问?

2024-05-12  本文已影响0人  Petricor

1.问题描述

2.原因描述

这是因为dist文件是需要放在服务器上运行的,资源默认放在根目录下。打开index.html可以发现,css和js文件的引用使用的是绝对路径,例如:<link href=/css/chunk-00d5eabc.f78fa75d.css rel=prefetch>,对本地磁盘来说,/指向磁盘根目录,找不到引用的文件,所以我们需要将路径改为<link href=css/chunk-00d5eabc.f78fa75d.css rel=prefetch>,这种方式。

3.解决方案将绝对路径改为相对路径

3.1 可以选择手动将index.html中所有引用资源的地方全部改成相对路径,如:<link href=./css/chunk-00d5eabc.f78fa75d.css rel=prefetch><link href=css/chunk-00d5eabc.f78fa75d.css rel=prefetch>
3.2 修改vue.config.js

module.exports = {
    // publicPath: './',  // 基本路径
    // assetsDir: 'static', // 放置静态资源的目录
    // indexPath: 'index.html', // html 的输出路径
    publicPath: './' ,
}

此时再运行npm run build打包后,打开dist/index.html发现所有资源的引用形式已经变为相对路径:<link href=css/chunk-00d5eabc.f78fa75d.css rel=prefetch>,此时可以双击index.html在浏览器中正常访问了!
3.3 提示注意

const router = new VueRouter({
  mode:  'hash' ,
  routes: [],
})

5.文章参考

感谢举杯邀明月:三种方案解决Vue项目打包后dist中的index.html用浏览器无法直接打开的问题
感谢静心安静读书:Vue项目打包,如何双击index.html即可静态访问?

上一篇 下一篇

猜你喜欢

热点阅读