vuecli3打包后怎么部署,vuecli3打包配置

  vuecli3打包后怎么部署,vuecli3打包配置

  本文主要介绍vue-cli3.0项目打包后如何修改access后端地址。有很好的参考价值,希望对大家有所帮助。如有错误或不足之处,请不吝赐教。

  

目录

  打包并修改access后端地址问题。解决工程,打包后直接修改ip地址。实施方案1。方案一。方案二。方案二。方案三。

  

打包修改访问后端地址

  

问题

  本来访问后台的地址是写在代码里的,但是这种情况下,打包后就不能修改了。只能在代码中修改,然后重新打包。

  

解决

  在vue-cli3.0之前,带static的项目目录不会打包,但是vue-cli3.0项目目录中没有static文件夹,但是有一个public文件夹不会打包(所以一些没有npm的插件或者包要放在public目录中),所以在public目录下创建一个js文件,命名为config.js

  在添加代码中,将BASE_URL定义为访问后台接口的地址。

  向index.html中的文件添加代码。

  脚本类型=text/javascript src=。/config . js /脚本

  最后,在需要的地方引用。

  window.global _ config。基本网址

  这样配置之后,无论是打包之后还是开发过程中,都可以正常访问后台。

  执行命令包项目

  npm运行构建

  可以在packed dist目录下的config.js文件中更改后端接口地址~ ~ ~

  

项目打包后直接修改ip地址

  最近项目遇到私有化部署,ip地址不唯一。如果每次修改ip地址,然后打包重新部署,就太繁琐了。一个程序员怎么能做这么累的工作?这篇文章是记录如何使ip地址可配置,使其无需重新构建代码即可再次生效。

  

实现方案

  经过一番研究,最终确定了三个方案:

  

1. 方案一

  在与src同级的静态文件夹或公共文件夹(element-admin template)下创建一个新的config.js文件,在其中配置生产环境的地址,并将其引入index.html。方法可行,但地址可能被恶意修改,不安全。但是,这对于一般项目来说是没问题的。

  (实测可行。打包后直接修改config.js中的地址,刷新页面即可生效。)

  第一步:我使用了element-admin的模板,所以我在public中生成了一个config.js文件。

  常量VUE应用程序URL={

  base URL:“http://192 . 168 . 1 . 19:8080”,

  }

  第二步:在index.html中直接引入config.js文件(将其添加到body标签之上)。

  脚本src=。/config . js /脚本

  步骤3:在封装请求的request.js页面上赋值。

  let baseURL

  if(process . ENV . node _ ENV=== production ){

  baseURL=VUE应用程序URL

  Sessionstorage . setitem( c _ base URL ,vue _ app _ URL . base URL)//保存session storage,如果它可以在其他地方使用。

  }否则{

  BASE URL=process . env . vue _ APP _ BASE _ API

  }

  const service=axios.create({

  baseURL: baseURL,

  超时:50000

  })

  

2. 方案二

  使用在线插件generate-asset-webpack-plugin,通过一系列配置生成一堆静态文件。这个方法是通过请求json文件来获取地址。安全性有一定的保证,但是真的很麻烦。

  (我只看了实现原理,没有耐心实验是不行的(~ _,~)。有兴趣的话可以自己学。)

  

3. 方案三

  新的json文件是公开创建的,地址是通过请求json文件获得的。

  (以上两种方案的组合版本理论上是可以的,但是这个没有经过测试,所以不确定效果好不好。)

  {

  base URL : http://192 . 168 . 1 . 19:8080

  }

  从“axios”导入axios

  let baseURL

  if(process . ENV . node _ ENV== production ){

  http.get(。/config . JSON’)。然后((res)={

  session storage . setitem( base URL ,res.data.baseURL)

  baseURL=res.data.baseURL

  })

  }否则{

  BASE URL=process . env . vue _ APP _ BASE _ API

  }

  const service=axios.create({

  baseURL: baseURL,

  超时:50000

  })

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: