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…

手机360浏览器怎么清空历史记录 手机360浏览器历史记录清空方法分享

任何一款浏览器产品在使用一段时间后都会出现历史记录&#xff0c;手机360浏览器自然也不能例外。而这些历史记录如果长期不清理的话&#xff0c;则导致手机越来越卡!那么&#xff0c;手机360浏览器怎么清空历史记录?不清楚具体操作的朋友&#xff0c;可以参考一下小编分享的方…

vue使用class添加动态类

<template><d2-container><h3>class使用测试页面</h3><p :class"1 < 2 ? red-font : blue-font">使用三元表达式;</p><p :class"[red-font,blue-bg]">使用数组包含多个类名;</p><p :class"{r…

守塔人奥列

“在这个世界里&#xff0c;事情不是上升&#xff0c;就是下降。不是不降&#xff0c;就是上升!我现在不能再进一步向上爬了。上升和下降&#xff0c;下降和上升&#xff0c;大多数的人都有这一套经验。归根结底&#xff0c;我们最后都要成为守塔人&#xff0c;从一个高处来观察…

vue图片加载失败使用默认图片,el-image支持懒加载,自定义占位、加载失败等

<template><d2-container><h3>image加载失败使用默认图片</h3><img src""alt"test1.png":onerror"errorImg" /><hr><h3>el-image懒加载、大图预览、加载占位、加载失败、</h3><div class&qu…

win7系统开机蓝屏提示hardware Monitor的解决方法

电脑蓝屏是使用过程中比较常见的问题&#xff0c;出现这种状况&#xff0c;系统一般会将错误信息显示在屏幕上&#xff0c;我们只需根据系统错误代码提示&#xff0c;找出问题根源&#xff0c;再对症下药就可以了。下面小编就来教大家win7系统开机蓝屏提示hardware Monitor的解…

el-table表格在表头和数据行添加图标、处理数据

通过header插槽自定义表头&#xff1a; <template slot"header" slot-scope"scope">... </template>可以通过scope.row.columnName 获取单元项数据进行数据处理&#xff1a; <template slot-scope"scope"><span :class&…

U盘装win7系统出现question(1808)的解决方法

U盘装系统是很多用户和电脑城装机员的首选&#xff0c;这种方法简单快捷&#xff0c;一学就会。但也有用户在安装系统过程中会碰到一些问题&#xff0c;question(1808)便是常见问题之一。这是什么原因呢?下面我们就一起来看看U盘装win7系统出现question(1808)的解决方法吧。 …

js数组遍历和对象遍历

针对js各种遍历作一个总结分析&#xff0c;从类型用处&#xff1a;分数组遍历和对象遍历&#xff1b;还有性能&#xff0c;优缺点等。 JS数组遍历&#xff1a; 1&#xff0c;普通for循环&#xff0c;经常用的数组遍历 var arr [1,2,0,3,9];for ( var i 0; i <arr.length…

Win7打印时文档被挂起的解决方法

在很多时候我们都会需要打印文档&#xff0c;但是打印过程中会有一些问题出现&#xff0c;如打印文档里无法打印&#xff0c;右下角显示文档被挂起&#xff0c;那么Win7打印时文档被挂起怎么解决呢&#xff0c;下面小编和大家分享下具体Win7打印时文档被挂起的解决方法。 原因…

windows下升级nodejs版本

使用electronvue创建项目时提示node.js版本不能低于10&#xff0c;记录windows下升级nodejs方式 1、Windows下是没有n模块并不支持 “npm install -g n” “n latest” 命令的方式更新版本&#xff1b; 2、解决方法&#xff1a;cmd命令窗口使用 where node 命令查看之前的n…

Win7系统Office卸载不干净无法安装怎么办

最近有用反馈在Win7系统上安装Office软件&#xff0c;但是软件提示&#xff0c;检测到系统中存在Office或Office卸载不干净&#xff0c;继续安装会导致Office异常&#xff0c;那么Win7系统Office卸载不干净无法安装怎么办呢&#xff0c;下面小编提供一下解决方法。 Win7系统Of…

使用electron-vue创建项目卡顿的问题

使用electron-vue创建项目卡顿的问题 1.执行vue init simulatedgreg/electron-vue xxx(project)命令太慢。 推荐解决方法&#xff1a; 1.1、将electron-vue项目先下载下来 electron-vue国内码云地址&#xff0c;直接下载到本地。或通过git直接克隆到本地 git clone https:/…

Win7删除不了打印机怎么办

在Win7系统下&#xff0c;如果想要把安装的打印机删除&#xff0c;用户通常会在设备和打印机里删除打印机图标&#xff0c;但是一些用户反馈&#xff0c;用户在删除了打印机之后&#xff0c;只要一刷新打印机又会重新出现&#xff0c;感觉是删除不了&#xff0c;那么遇到这样的…

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

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

win7本地连接不见了的修复方法

本地连接是我们用来查看网络状况的窗口&#xff0c;通常会出现在右下角的任务栏当中&#xff0c;网络如果出现问题&#xff0c;这个小电脑图标会显示出来&#xff0c;让我们一目了然&#xff0c;不过最近有位电脑用户反映&#xff0c;电脑右下角的本地连接不见了&#xff0c;用…

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

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

win7查看电脑ip地址的方法

每台计算机都会分配到一个固定的IP地址&#xff0c;当网络出现故障的时候一般都需要知道自己计算机详细的IP地址从而进行修复&#xff0c;但是小伙伴们并不知道怎么使用命令去查看这个IP地址&#xff0c;现在小编就以win7系统为例&#xff0c;来教授大家查看电脑IP地址的方法。…

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…

win7系统盘符名称更改教程

一般来说&#xff0c;在装机时&#xff0c;我们都会使用C、D、E、F以此类推的字母作为盘符名称&#xff0c;但是如果我们想要更改这些名称其实也是可以的。只需要在计算机管理的磁盘管理内就可以做到了&#xff0c;下面就一起来看一下吧。 win7系统盘符名称更改教程 1、首先我…