zoukankan      html  css  js  c++  java
  • vue打包之后生成一个配置文件修改接口

    前言:

    我们的vue代码打包上传到服务器之后,

    要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口。

    能不能生成一个配置文件,里面可以配置域名或其它什么字段之类的,这样以后换了域名,只需打开记事本 修改一下域名即可。

    教程:

    第一步:安装generate-asset-webpack-plugin插件

    npm install --save-dev generate-asset-webpack-plugin

    第二步:配置webpack.prod.conf.js文件

    //让打包的时候输出可配置的文件
    var GenerateAssetPlugin = require('generate-asset-webpack-plugin'); 
    var createServerConfig = function(compilation){
      let cfgJson={ApiUrl:"http://198.129.31.108:8080"};
      return JSON.stringify(cfgJson);
    }
    //让打包的时候输入可配置的文件
    //这段代码加在plugins:[]中
        new GenerateAssetPlugin({
            filename: 'serverconfig.json',
            fn: (compilation, cb) => {
                cb(null, createServerConfig(compilation));
            },
            extraFiles: []
        })

    第三步:输入npm run build打包代码  结果如下

    第四步:以后需要修改域名之类的  在serverconfig.json修改即可

    第五步:获取ApiUrl

    //在main.js中定义一个全局函数
    Vue.prototype.getConfigJson=function(){
        this.$http.get("serverconfig.json").then((result)=>{
            //用一个全局字段保存ApiUrl  也可以用sessionStorage存储
            Vue.prototype.ApiUrl=result.body.ApiUrl;
        }).catch((error)=>{console.log(error)});
    }    

    第六步:使用ApiUrl

    //在app.vue里面  执行this.getConfigJson();
    mounted:function(){
          this.getConfigJson();
    }
    //之后...用在需要用到的地方  因为ApiUrl已经是全局了 可以直接用this.ApiUrl
    var url=this.ApiUrl+'/api/....
  • 相关阅读:
    路径不对 导致FileNotFoundError: [WinError 2] 系统找不到指定的文件, 问题解决办法
    pycharm + selenium + python 提示 Unresolved reference 'webdriver' 解决办法
    highstock实现股票分时
    jquery 源码剖析1
    html 其它标签
    html5 基本内容 摘自W3C
    html总结
    web性能 部分
    linux常用命令 3
    linux常用命令 2
  • 原文地址:https://www.cnblogs.com/Mrrabbit/p/7852792.html
Copyright © 2011-2022 走看看