taro H5 端使用 devServer 实现跨域

1.安装  cross-env

yarn add  cross-env -D

2.配置 dev.js

config/dev.js

// NOTE H5 端使用 devServer 实现跨域,需要修改 package.json 的运行命令,加入环境变量
const isH5 = process.env.CLIENT_ENV === 'h5'
const HOST = '"https://miniapp.you.163.com"'
const HOST_M = '"https://m.you.163.com"'

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",

.

 

posted @ 2020-04-12 12:00  每天都要进步一点点  阅读(5250)  评论(1编辑  收藏  举报