Browse Source

处理vue开发环境中的跨域

master
453530270@qq.com 3 years ago
parent
commit
beb42d4585
  1. 3
      .env
  2. 9
      src/utils/request.js
  3. 3
      src/views/HomeView.vue
  4. 26
      vue.config.js

3
.env

@ -0,0 +1,3 @@
NODE_ENV=production
VUE_APP_PREVIEW=false
VUE_APP_API_BASE_URL=/api

9
src/utils/request.js

@ -8,8 +8,9 @@ const publicConfig = window.publicConfig
// 创建一个 axios 实例
const service = axios.create({
//baseURL: '/api', // 所有的请求地址前缀部分
baseURL: publicConfig.BASE_API,
// baseURL: publicConfig.BASE_API,
//baseURL:ahost,
baseURL: process.env.NODE_ENV === 'production' ? publicConfig.BASE_API : process.env.VUE_APP_API_BASE_URL,
timeout: 60000, // 请求超时时间毫秒
withCredentials: true, // 异步请求携带cookie
headers: {
@ -33,7 +34,7 @@ service.interceptors.request.use(
// 添加响应拦截器
service.interceptors.response.use(
function (response) {
console.log(response)
// console.log(response)
// 2xx 范围内的状态码都会触发该函数。
// 对响应数据做点什么
// dataAxios 是 axios 返回数据中的 data
@ -48,8 +49,10 @@ service.interceptors.response.use(
function (error) {
// 超出 2xx 范围的状态码都会触发该函数。
// 对响应错误做点什么
console.log(error)
// console.log(error)
return Promise.reject(error)
}
)
export default service

3
src/views/HomeView.vue

@ -175,6 +175,9 @@ export default {
//
btApi.allGroupTimeNum({'granularity':'daily'}).then(res=>{
console.log(res)
}).catch(err=>{
console.log("发生错误:")
console.log(err)
});
},
//

26
vue.config.js

@ -1,5 +1,31 @@
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
// 部署应用时候的基本url
//publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
devServer: {
proxy: {
'/api': {
target: 'http://btgym.xingtongworld.com/api/', // 配置访问的服务器地址
pathRewrite: { '^/api': '' }, // 用于将请求中的 /api 字符串替换为空, 然后访问地址就能正确访问,若不添加此行配置,那么访问地址就变成了: http://localhost:5000/api/request_url,这样的请求就会出现 404 操作
ws: true, // 是否支持 webstocket, 默认是 true
changeOrigin: true // 用于控制请求头中的 host 值, 默认是 ture
}
},
// http 代理配置
// proxy: {
// '/m': {
// target: 'http://btgym.xingtongworld.com/', //目标接口域名
// changeOrigin: true, //是否跨域
// // logLevel: "debug",
// pathRewrite: {
// '^/m': '/api'
// }
// }
// },
},
transpileDependencies: true,
lintOnSave: false,
publicPath: './'

Loading…
Cancel
Save