vue.js打包後放到beego項目中,路由的統一設置

  • 2019 年 10 月 7 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/hotqin888/article/details/101153853

https://mp.csdn.net/postedit/88937943

https://mp.csdn.net/postedit/88937727

https://mp.csdn.net/postedit/88937667

https://mp.csdn.net/postedit/88937545

我之前寫的幾個關於beego中放入打包好的vue.js開發的前後端分離的項目,部署到伺服器上。

就是打包後,在vue項目目錄里找到dist文件夾,把index.html放到beego的view里,把static里的所有文件和文件夾拷貝到beego項目的static文件下,合併。

vue 介面請求地址前綴本地開發和線上開發設置

上面這個文章寫得很好,如果在各個component里將請求地址的前綴統一呢?

文中講分別將prod.env.js和dev.env.js里增加module.exports = merge(…………

然後到main.js里進行請求地址攔截設置,意思就是請求的時候自動根據項目所處的環境(開發環境還是上線環境——後者即打包環境)分別給予不同的前綴。

注意:

1.vue.js修改config是要重新啟動:cnpm run dev。

2.vue.js打包命令:cnpm run build。

到了模板里,this.$axios.post('/api/order_list').——就是前綴加上這個地址了。

開發環境 config/dev.env.js

'use strict'  const merge = require('webpack-merge')  const prodEnv = require('./dev.env')    module.exports = merge(prodEnv, {    NODE_ENV: '"development"',    API_ROOT: '"https://www.dev.com"'  //本地請求前綴  })

線上開發環境 config/prod.env.js

'use strict'  const merge = require('webpack-merge')  const prodEnv = require('./prod.env')    module.exports = merge(prodEnv, {    NODE_ENV: '"production"',    API_ROOT: '"https://www.prov.com"'   //線上請求前綴  })

在請求之前,組裝URL,axios.js——main.js里

import axios from 'axios';  var root = process.env.API_ROOT;  //請求攔截  axios.interceptors.request.use((config) => {      //請求之前重新拼裝url      config.url = root + config.url;      return config;  });

頁面使用模板:

export default {      name: 'Order',      data () {          return {              order_list: []          }      },      methods: {          fetchList: function () {              this.$axios.post('/api/order_list').then((res) => {                  if(res.result === '0000'){                      this.order_list = res.data;                  }              });          }      }  }