vue+axios給開發環境和生產環境配置不一樣的接口地址

一、爲何要配置不一樣的接口地址
在開發過程當中,前端請求訪問的是本身本機啓動的後臺服務,此時涉及到跨域(由於端口不同),因此在config/index.js文件中配置了代理前端

//檢查某個文件是否存在
try {
  fs.statSync(path.join(__dirname, '../proxy/' + templatedir + '.json'))
  //若是能夠執行到這裏那麼就表示存在了
  console.log(124)
  proxyTable = require('../proxy/' + templatedir + '.json')
} catch (e) {
  //捕獲異常'
}
module.exports = {
  dev: {
    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: proxyTable,

    // Various Dev Server settings
    host: 'localhost', // can be overwritten by process.env.HOST
    index: templatedir,
    port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
}

而後再proxy文件夾裏創建對應的項目名.json文件,json

{
  "/": {
    "target": "", // 被請求的地址
    "changeOrigin": true,
    "pathRewrite": {
      "^/": "/"
    }
  }
}

注意:proxyTanle這個插件只限於開發模式下,後面必定要將前端代碼和服務器代碼部署在一塊兒,負責須要經過Nginx進行跨域的轉發配置。跨域

相關文章
相關標籤/搜索