文章

Taro编译H5页面本地开发进行代理配置.md

Taro本地开发H5页面的时候发起请求需要开启代理配置,否则就会发生跨域请求,记录一下相关注意点

1、配置代理服务器

在项目的config目录下有一个index.js文件,里面是配置各个平台的编译相关配置,如果只是H5页面需要配置代理,解决跨域配需要在h5属性下添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
h5: {
    devServer: {
      proxy: {
        // 这里代表这凡是以 /api 开头的接口都将在这里被代理
        '/api': {
            // 代理的目标服务器,也就是你要发请求的那个服务器
            target: 'https://www.baidu.com/',
            changeOrigin: true,
            pathRewrite: {
                // 此处的路径替换是不做任何替换,也就是说api还是接着原来的api
                '^/api': '/api'
            }
        }
      }
    }
}

2、代码里发送请求写法

代码里面发送请求的时候,比如:https://www.baidu.com/test,那么对应的发送path就变成了 /api/test

由于京东的kpi现在不重要了,导致taro更新缓慢,记录一下uniapp的跨域配置,这里说明一下使用Vue3+TS来构建的项目。

1
2
3
4
5
6
7
8
9
10
// 本配置写到vite.config.ts文件里面去
server: {
	proxy: {
		'/api': {
			target: 'http://v2ss.cn',
			changeOrigin: true,
			rewrite: (path) => path.replace(/^\/api/, "")
		}
	}
}

如果请求地址是:http://v2ss.cn/test 那么请求的代码如下:

1
2
3
4
5
http({
	method: 'POST',
	url: '/api/test',
	data
})

可以去拦截器里面加一下这个地址前的api

本文由作者按照 CC BY 4.0 进行授权