vue-cli打包后怎么修改服务器地址实践有效

前言:公司vue项目使用 npm run build 打包生成dist文件部署后,当需要修改服务器端地址时候就又需要重新配置url并打包部署,为简化部署测试工作,想实现通过修改服务器地址的配置文件来实现修改打包后的项目服务器地址。

 

项目基于vue-cli2搭建测试,下面是实现步骤:

 

1、在static文件夹下创建配置文件 serverconfig.json,服务器地址信息

{"ApiUrl":"http://localhost:8082/"
}

注意static和assets路径下文件引用区分:

  • static/ 目录下的文件并不会被 Webpack 处理:它们会直接被复制到最终目录(默认是dist/static)下。必须使用绝对路径引用这些文件,这是通过在 config.js 文件中的 build.assetsPublicPath 和 build.assetsSubDirectory 连接来确定的。任何放在 static/ 中文件需要以绝对路径的形式引用:/static/[filename]。
  • assets目录中的文件会被webpack处理解析为模块依赖只支持相对路径形式。因为webpack会将图片当做模块来引用,所以在js中需要使用require将图片引用进来,不能直接以字符串的形式。
  • 可以通过webpack+vue自定义路径别名找到文件的位置,如找到static下文件
export default {name: 'HelloWorld',data () {return {baseURL:getUrl(),svg:require('../assets/svg/circle_red.svg'), //assets下静态资源会被webpack处理解析为模块依赖,使用相对路径//因为webpack会将图片当做模块来引用,所以在js中需要使用require将图片引用进来,不能直接以字符串的形式。svg2:{"src":'/static/circle_red.svg'},//static/ 目录下的文件并不会被Webpack处理,使用绝对路径形式,如/static/[filename]。//通过webpack+vue自定义路径别名可以找到文件的位置,如找到static下文件svg3:require('@static/circle_red.svg'), }},}

 

 

 

 

 

 

2、修改 config/index.js 文件的build打包配置,防止出现404文件错误

防止出现上图错误,如下图将assetsPublicPath对象修改成  ' ./ '

 

 

 

3、在main.js 文件中配置如下:

import axios from 'axios'Vue.prototype.$axios = axios;let startApp=function(){Vue.prototype.$axios.get("static/serverconfig.json").then((response)=>{//用一个全局字段保存ApiUrl 也可以用sessionStorage存储console.log(response.data.ApiUrl);Vue.prototype.ApiUrl=response.data.ApiUrl;new Vue({el: '#app',router,components: {App},template: '<App/>'})}).catch((error)=>{console.log(error)});
} startApp();

注意:

  • 防止请求与页面渲染之间的时间差异化导致值获取不到报 undefined错误,将 new Vue()实例化放在请求里执行,且先定义 Vue.prototype.ApiUrl,再实例化new Vue()

 

4、在 .vue 或 js 文件中调用

<script>
import Vue from 'vue'
function getUrl(){return Vue.prototype.ApiUrl;
}export default {name: 'HelloWorld',data () {return {msg: 'Welcome to Your Vue.js App',baseURL:getUrl(),}},methods:{},mounted:function() {console.log(this.baseURL);}
}
</script>

 

 

5、npm run build 打包后将项目包dist部署到tomcat服务器上,在dist/static/serverconfig.json文件修改url后刷新浏览器页面即可

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

干净高效的搜索引擎

找一个干净好用的搜索引擎&#xff0c;好文转载备忘 为什么不用百度搜索引擎&#xff0c;估计一百个人会有一百个理由。 百度最让人诟病的还是它的竞价排名&#xff0c;其实要赚钱无可厚非&#xff0c;但这吃相……前几天看到知乎上有人发了张百度和谷歌搜索的对比图&#xf…

vue-router区分hash模式和history模式

总结&#xff1a; hash模式是我们在url后面添加一个#xx触发事件。尽管浏览器没有请求服务器&#xff0c;但是页面状态和url已经关联起来了&#xff0c;这就是所谓的前端路由&#xff0c;单页应用的标配。 history模式下浏览器地址不规整&#xff08;没有#&#xff09;&#x…

Vue 打包前需修改的配置,解决白屏问题

vue-cli项目和electron-vue项目打包运行都有遇到的白屏问题&#xff0c;下面记录打包前需要确认的配置 第一&#xff1a; config文件夹下的index.js 中的文件中的 assetsPublicPath &#xff1a;‘/’ 改为’./’ 不然的话会是空白页&#xff0c;记住&#xff0c;是build那块。…

electron-vue解决打包错误、无法调用出开发者工具(亲测有效)

错误1&#xff1a; unresolved node modules vue... 或 not found modules..的错误 解决方式&#xff1a;依赖的模块错误&#xff0c;删除node_module文件夹后&#xff0c;尽量用npm install而不是淘宝镜像cnpm安装 错误2&#xff1a; Cannot create symlinks (on Windows hos…

JS中使用bignumber处理高精度小数运算

项目开发中发现精度丢失的问题&#xff0c;如0.10.2 0.30000000000000004的问题 解决方式&#xff1a;引用bignumber.js用于数字精度要求较高的计算。 1、安装或引用&#xff1a; 下载地址&#xff1a;https://github.com/MikeMcl/bignumber.js/releases 或 npm install big…

restful api接口设计

技术由来&#xff1a; 互联网早期&#xff0c;页面请求和并发量不高&#xff0c;且移动端未盛行时对接口要求不高&#xff0c;使用动态页面(jsp)就能满足绝大多数的使用需求。但是随着互联网和移动设备的发展&#xff0c;人们对Web应用的使用需求也增加&#xff0c;传统的动态…

vue-cli安装和使用

主要记录安装vue-cli制定版本和使用&#xff0c;注意vue-cli4创建项目命令和项目结构的改变 检查当前项目的vue-cli版本&#xff1a; vue -V 卸载当前版本&#xff1a; npm uninstall vue-cli -g 安装最新版本: npm install -g vue-cli 安装指定版本&#xff1a; npm in…

Apache 和 Tomcat 服务器的区别

Apache 和 Tomcat 都是web网络服务器&#xff0c;两者既有联系又有区别&#xff0c;在进行HTML、PHP、JSP、Perl等开发过程中&#xff0c;需要准确掌握其各自特点&#xff0c;选择最佳的服务器配置。 Apache是web服务器&#xff08;静态解析&#xff0c;如HTML&#xff09;&…

二进制、八进制、十六进制相互转换

一、十进制与二进制之间的转换 1、十进制转二进制 方法为&#xff1a;十进制数除2取余法&#xff0c;即十进制数除2&#xff0c;余数为权位上的数&#xff0c;得到的商值继续除2&#xff0c;依此步骤继续向下运算直到商为0为止。 &#xff08;具体用法如下图&#xff09; 2、二…

vue-cli3+与vue-cli2的区别和vue-cli 修改配置

vue-cli3是基于webpack4打造&#xff0c;vue-cli2是基于webpack3vue-cli3的设计原则是“0配置”&#xff0c;移除&#xff08;隐藏&#xff09;配置文件build和config等目录vue-cli3提供了vue ui 命令&#xff0c;提供了可视化配置vue-cli3移除了static文件夹&#xff0c;新增了…

electron打包vue-cli4项目的解决方案1(项目实测)

背景&#xff1a; 项目已通过vue-cli4框架开发并运行在nginx服务器上&#xff08;使用了nginx的反向代理&#xff09;&#xff0c;现需要将该项目转成桌面端应用程序&#xff0c;选择electron来实现。 设想2种解决方案&#xff1a; 1、使用electron-quick-start的loadURL方法…

IP 基础知识“全家桶”,45 张图一套带走!

转载自&#xff1a; https://mp.weixin.qq.com/s/kPjFeefB1Xsbc2bHz_Or1Q 前言 前段时间&#xff0c;有读者希望我写一篇关于 IP 分类地址、子网划分等的文章&#xff0c;他反馈常常混淆&#xff0c;摸不着头脑。 那么&#xff0c;说来就来&#xff01;而且要盘就盘全一点&am…

浅谈XSS攻击的那些事(附常用绕过姿势)

本文《浅谈XSS攻击的那些事&#xff08;附常用绕过姿势&#xff09;》 由一叶知安团队原创投稿安全脉搏首发&#xff0c;作者geek痕,安全脉搏独家首发表本文&#xff0c;如需要转载&#xff0c;请先联系安全脉搏授权&#xff1b;未经授权请勿转载。随着互联网的不断发展&#x…

了解与防御XSS攻击

一. XSS是什么 XSS攻击全称跨站脚本攻击&#xff08;Cross Site Scripting&#xff09;&#xff0c;是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆&#xff0c;故将跨站脚本攻击缩写为XSS&#xff0c;XSS是一种在web应用中的计算机安全漏洞&#xff0c;它允许恶意…

BS架构和CS架构的优缺点

1、CS、BS架构定义 CS&#xff08;Client/Server&#xff09;&#xff1a;客户端----服务器结构。C/S结构在技术上很成熟&#xff0c;它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示&a…

webService、webSocket、socket、http之间的区别

HTTP HTTP 是基于请求响应式的&#xff0c;即通信只能由客户端发起&#xff0c;服务端做出响应&#xff0c;无状态&#xff0c;无连接。 无状态&#xff1a;每次连接只处理一个请求&#xff0c;请求结束后断开连接。 无连接&#xff1a;对于事务处理没有记忆能力&#xff0c;服…

OSI七层模型传输过程的通俗理解

转自&#xff1a;http://bbs.clnchina.com.cn/thread-1250443-1-1.html 1.OSI七层模型划分。 从上到下依次是&#xff1a;应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 分层功能应用层网络服务与最终用户的一个接口&#xff08;可理解为人机交互界面&#xf…

软件开发之常见前端安全漏洞

原标题&#xff1a;软件开发之常见前端安全漏洞 软件开发完成后&#xff0c;在Web服务器在投入使用之前&#xff0c;应该确保服务器是相对安全地。保证服务器相对安全地前提是&#xff0c;要充分了解影响Web系统安全。 1、跨站脚本&#xff08;XSS&#xff09;漏洞跨站脚本攻击…

修改el-popover和el-select样式

如图el-popover弹框和el-select下拉项的的容器是div#app之外的&#xff0c;所以在scoped作用域内使用>>>或/deep/修改样式无效。虽然可以使用全局样式修改&#xff0c;但是会造成所有页面组件样式改变。 1、修改el-select选项样式的解决办法&#xff1a; Popper-appen…

vue项目使用electron打包成桌面应用

打包流程详情步骤&#xff1a; 1、准备工作&#xff1a; a、win7系统则确保node版本在v12以上&#xff0c;electron-builder对系统或版本有要求&#xff1b; b、项目路径不使用中文&#xff1b; c、使用淘宝镜像命令代替npm管理工具 npm install -g cnpm --registryhttps://…