• vue一次打包适应多个地址


      最近遇到的问题,vue打包后,写在代码里的IP访问地址不能满足一次打包,多个地址使用。

      在网上找的,配置prod,dev之类的,需要用打包命令做区分,还是需要做多次打包,不太满足期望。最终找到了解决方法。做一下记录。

      1.创建config.json

    在static目录下创建文件,config.json。

    内容如下:

    {
        "BASE_URL":"http://www.baidu.net"
    }
    View Code

    2.引用

    import axios from "axios";
    Vue.prototype.$http = axios;
    axios.get('/static/config.json').then((res) => {
      // 基础地址
      Vue.prototype.LOGIN = res.data.BASE_URL
    })

    在main.js中引用config.json的代码。

    找到的别的记录里是 Vue.prototype.LOGIN = res.BASE_URL。这样子没有引用到,就打了一下log,发现结构并不能这样使用,就有了现在的使用结构。

    3.使用

    this.$http.post(this.LOGIN+ "/contract/get/name", {
              companyId: _this.comid
            })
            .then(function(res) {
              _this.cont = res.data.data;
            })
            .catch(function(error) {});
    View Code

    前面设置的Vue.prototype的值在这里可以直接使用。

    4.打包

    执行npm run build.

    打完包之后,static的结构如下:

    没有破坏结构。

    5.部署

    部署到服务器上可以正常使用。记录完毕


    在使用中遇到另一个问题,页面缓存。

    在A浏览器登陆使用test1的地址登陆过之后,修改config.json文件,改成test2的地址,不能及时更新。使用B浏览器登陆,地址成为test2。这个问题有待观察解决。

    解决方法:在使用中使用的 this.LOGIN 。替换成Vue.prototype.LOGIN。打包之后放到服务器上,修改config.json文件,刷新页面就能获取最新地址。

  • 相关阅读:
    C#心得与经验(二)
    C#心得与经验(一)
    与C#的第一次~
    2014应届生面试经验详谈。
    Block基本用法
    OC中得那些“点”
    PCH文件的使用
    UIScrollView的subViews使用小注意
    分享一下本人录制图像处理与OpenCV学习视频
    OpenCV 3.2正式发布啦
  • 原文地址:https://www.cnblogs.com/zhanghao1799/p/10578168.html
Copyright © 2020-2023  润新知