问题描述:

前端需要修改restful API的url,但是打包之后,配置文件找不到了,如果在npm run build 生成dist后,这个配置也被写死了,传到运行的前端服务器上后,假设某次,api服务器的ip修改了,改动只是更新下这个url,但是却需要会到前端源码,url后,在重新npm run build,然后再把整个dist再重新传到前端服务器,才可以。

解决方法:

用了generate-asset-webpack-plugin 这个插件,在webpack.prod.conf.js中去生成configServer.json文件,让其在build的时候生成json文件,然后再使用axios异步获取json,替换url即可

具体做法:

先安装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://139.129.31.108:8001"};return JSON.stringify(cfgJson);
}

//让打包的时候输入可配置的文件new GenerateAssetPlugin({filename: 'serverconfig.json',fn: (compilation, cb) => {cb(null, createServerConfig(compilation));},extraFiles: []})

打包之后,在根目录就会生成serverconfig.json文件

使用:

axios.get("serverconfig.json").then((result)=>{localStorage.setItem('ApiUrl',result.data.ApiUrl);console.log(localStorage.getItem('ApiUrl'));}).catch((error)=>{console.log(error)});

则可以获取到serverconfig.json里面的key  ApiUrl的值,需要注意的是,由于是异步操作,为了通信,可以采用localstorage,把东西存起来,即localstorage.setItem

使用的时候可以用localstorage.getItem

转载于:https://www.cnblogs.com/caimuqing/p/7094364.html

16.如何做到webpack打包vue项目后,可以修改配置文件相关推荐

  1. 【vue项目问题解决】如何做到webpack打包vue项目后,可以修改配置文件IP和端口

    记录在项目开发过程中遇到的小问题,积累开发经验,欢迎大家一起留言探讨 问题 我们在vue项目中打包的时候,webpack会将我们的组件,html,js,css,jpg等其他文件进行打包,其中请求的ip ...

  2. vue修改入口文件名字_webpack打包vue项目,可修改配置文件

    问题: vue项目打包完成后,如需改变配置文件中的信息,比如域名修改(如下图config.js),是不可能在配置文件中直接更改的,因为配置文件是前端写死的,这时只能手动更改项目中的配置,然后重新打包n ...

  3. 解决webpack打包vue项目后,部署完成后,刷新页面页面404

    1.url不动式 url完全不动,即你的页面怎么改变,怎么跳转url都不会改变.这种情况的原理 就是纯ajax拿到页面后替换原页面中的元素,刷新页面就是首页 2.带hash(#)式 这种相对于第一种的 ...

  4. webpack打包vue项目之后dist文件夹在本地跑起来

    webpack打包vue项目之后dist文件夹在本地跑起来 转载为:https://blog.csdn.net/u014054437/article/details/79981307 谢谢博主 亲测, ...

  5. 使用webpack打包vue项目

    使用webpack打包vue项目 安装webpack工具,安装方式有两种:全局安装(命令:npm install -g webpack webpack-cli)以及安装在项目中,这里使用第二种: // ...

  6. php项目webpack打包,Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理

    这次给大家带来Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理,Vue项目webpack打包部署时Tomcat刷新报404错误问题处理的注意事项有哪些,下面就是实战案例,一起 ...

  7. WebPack实战 WebPack打包Vue项目

    文章目录 前言 一.使用webpack来进行vue-cli模块化开发 二.Webpack配置区分开发环境和生产环境 三.vue项目打包 3.1.config-index.js文件 3.2.build- ...

  8. webpack打包VUE项目读取外部配置文件,灵活配置域名

    参考方案一 作为一个兼职前端和运维的java程序员,今天我司测试人员提出了一个需求,当后台服务地址ip地址改变后,webpack打包的VUE项目得更改地址重新打包,太麻烦了,最好可以读取外部配置文件的 ...

  9. webpack打包vue项目之后生成的dist文件该怎样启动运行跑起来

    webpack打包生成了dist文件 ,直接运行dist文件中的index.html会报这个错. 我们需要部署在express-generator服务器上来运行. 安装express-generato ...

最新文章

  1. 第八周实践项目7 对称矩阵的压缩存储及基本运算
  2. ajax post 空格变加号,Ajax Post数据加号变空格详解
  3. k8s部署mysql集群(statefulset):主写从读、一主多从集群
  4. php http头设置相关信息
  5. linux系统 qt调试,Linux下Qt Creator远程调试(redhat5+mini6410)
  6. C#中类与结构体的区别
  7. mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢
  8. 一起来做个免登录资源导航小程序!
  9. php mail laravel,Laravel框架实现的使用smtp发送邮件功能示例
  10. 解决Kubelet Pod启动CreatePodSandbox或RunPodSandbox异常方法
  11. ubuntu下人体姿态识别OpenPose编译运行
  12. mumu模拟器cpu设置_网易mc怎么提高fps
  13. Garbled Circuits介绍 - 1 引言
  14. android l x64,64位 Android L有9大亮点
  15. 如何保护自己的颈椎?
  16. vue 前端导出PDF文件学起来
  17. ubuntu系统切换高性能模式
  18. 这些Android手机现在支持Fortnite(不仅仅是Samsung!)
  19. 13、hive在启动beeline客户端时报错:User: xxx is not allowed to impersonate xxx
  20. 机架服务器最多有多少cpu,小身材却有大能量:高密度机架服务器

热门文章

  1. C语言实现小时候经常做的智力测试题
  2. Nginx源码分析(3)
  3. PHP获取当前页面的URL
  4. 关于Windows Unicode 编码的问题
  5. 爨底下-双龙峡,凑合的一日游
  6. navigating the online library
  7. cam db num
  8. 如何零基础或者转行数据分析师?
  9. 乐视欠122亿的图标给后浪的启示
  10. 图集内子图压缩及 ETC2 fallback选项的作用