vue 本地运行打包文件dist,及接口调用失败处理

726 阅读1分钟

问题一

打开dist文件中的index.html页面却是一片空白,打开控制台发现报错:Failed to load resource: net::ERR_FILE_NOT_FOUND

vue-cli2处理方式

image.png

vue-cli3处理方式

image.png

or

在 vue.config.js 文件

module.exports = {
    publicPath: './',         //配置本地引用目录文件,如不配置,默认为`/`
}

问题二

如果页面还是没有显示出来,并且提示找不到文件,文件可能被删除,仔细看路径也变了,这个时候问题原因就是路由模式出现问题了。

把history模式改成hash模式的方法

vue2:

const router = new VueRouter({
  mode:"hash",
  routes
})

vue3:

const router = createRouter({
  history: createWebHashHistory(process.env.BASE_URL),
  routes
})

路由模式也修改之后重新npm run build打包,查看dist中的index.html文件,就可以正常打开了。

打开时 使用插件 Live Server打开dist项目

vite项目打包后,接口调用失败(vite+vue2.7)

vue项目打包之后,双击dist文件中index.html时,接口调用失败,是因为在生产环境下(即打包后),服务器代理设置不再有效。 若想在打开index.html后依旧可以像在开发环境一样调用接口(即file协议直接打开html后,调接口)可进行如下配置

首先需要让页面可以正常加载出来,如上文描述

在vite.config.ts 或者 vite.config.js 中配置   base: './'

image.png

页面能出来之后就是配置接口

情况一

通过script标签,window对象上挂载接口根路径,打包后想修改接口根路径在index.html中修改保存就行。 在index.html中 image.png

在自己封装的接口文件中

image.png

适用于项目只代理一个服务器,若代理多个服务器可能需要更复杂点的操作