为什么vue一打包就连不上接口了
时间: 2023-08-26 20:03:40 浏览: 161
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
5星 · 资源好评率100%
在开发过程中,我们一般通过在前端项目中使用相对路径来访问后端接口,这样开发时能够直接访问到后端接口。
但是在打包后,前端代码被打包成静态文件,需要通过服务器来提供访问。此时,如果前端代码中使用的是相对路径访问后端接口,那么它会在前端的 URL 路径基础上拼接后端接口的路径,从而导致访问不到后端接口。
为了解决这个问题,我们可以在前端代码中使用绝对路径来访问后端接口。一般来说,我们可以在前端项目的配置文件中设置后端接口的地址,然后在前端代码中使用这个地址来访问后端接口。
例如,我们可以在 Vue 项目的配置文件 `vue.config.js` 中添加以下代码来设置后端接口的地址:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true
}
}
}
}
```
这个配置会将以 `/api` 开头的请求代理到 `http://localhost:3000`,也就是后端接口的地址。在前端代码中,我们可以使用 `/api` 开头的路径来访问后端接口,例如:
```javascript
axios.get('/api/users')
.then(response => console.log(response.data))
.catch(error => console.error(error))
```
这个例子中,我们使用 `/api/users` 来访问后端接口,这个请求会被代理到 `http://localhost:3000/users`。这样就能够在打包后的前端代码中访问后端接口了。
阅读全文