­

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