Vue-Element-Admin 如何取消模拟 Mock 的数据,改为真实 API 的后台接口调用?网上很多教程是低版本,已无法使用。

经多方尝试,2步即可,以下方式可用,版本为 4.2.1-i18n,修改方式适用与本地开发环境的跨域,线上环境跨域可使用 Nginx 反向代理进行跨域。

第一步,修改根目录下的 .env.development:
此文件为开发环境配置文件,这里修改为空是重点,否则无法跨域。

VUE_APP_BASE_API = '/dev-api'
#修改为空
VUE_APP_BASE_API = ''

第二步,修改根目录下的 vue.config.js:
新版本中没有 proxy 这个参数,而是直接 before mock,因此需要新增 proxy 代理参数(无需安装 http-proxy-middleware,框架已内置),同时删除掉 before mock 参数。

    devServer: {
      port: port,
      open: true,
      overlay: { 
        warnings: false, 
        errors: true 
      }, 
      before: require('./mock/mock-server.js') }

修改为以下

    devServer: { 
      port: port, 
      open: true, 
      overlay: { 
        warnings: false, 
        errors: true
      }, 
      proxy: { 
        [process.env.VUE_APP_BASE_API]: { 
          target: `http://后台接口地址`, 
          changeOrigin: true, 
          pathRewrite: { 
            ['^' + process.env.VUE_APP_BASE_API]: '' 
          }
        }
      }