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

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;
                }
            });
        }
    }
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章