星星博客 »  > 

taro h5 实现跨域

通过devServer实现跨域

1、安装 cross-env

npm install cross-env -D

yarn add  cross-env -D

2、找到根目录下的config/dev.js文件进行配置

// NOTE H5 端使用 devServer 实现跨域,需要修改 package.json 的运行命令,加入环境变量
const isH5 = process.env.CLIENT_ENV === 'h5'
const HOST = '"http://172.17.11.221:8080"'
const HOST_M = '"http://172.17.11.221:8888"'
 
module.exports = {
  env: {
    NODE_ENV: '"development"'
  },
  defineConstants: {
    HOST: isH5 ? '"/api"' : HOST,
    HOST_M: isH5 ? '"/api-m"' : HOST_M
  },
  weapp: {},
  h5: {
    devServer: {
      proxy: {
        '/api/': {
          target: JSON.parse(HOST),
          pathRewrite: {
            '^/api/': '/'
          },
          changeOrigin: true
        },
        //配置多个代理
        '/api-m/': {
          target: JSON.parse(HOST_M),
          pathRewrite: {
            '^/api-m/': '/'
          },
          changeOrigin: true
        }
      }
    }
  }
}

3、修改 package.json

"build:h5": "cross-env CLIENT_ENV=h5 taro build --type h5",
"build:rn": "cross-env CLIENT_ENV=rn taro build --type rn",
"dev:h5": "cross-env CLIENT_ENV=h5 npm run build:h5 -- --watch",
"dev:rn": "cross-env CLIENT_ENV=rn npm run build:rn -- --watch",

参考:https://www.cnblogs.com/crazycode2/p/12875683.html

相关文章