经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
Vue 简单配置公用接口地址方式
来源:jb51  时间:2022/3/29 16:19:03  对本文有异议

简单配置公用接口地址

有时候需要本地和线上需要不同的接口地址, 这个时候可以根据 npm run build 判断

首先配置

先新建一个 config.js 的文件

  • 开发环境: 说明在本地测试的时候链接的地址
  • 测试环境: 说明是根据 npm run test 进行判断
  • 生产环境: 说明是已经部署到线上的代码 npm run build
  1. let baseURL = ''
  2. if (process.env.NODE_ENV === 'production') {
  3. ? ? //根据.env文件中的VUE_APP_FLAG判断是生产环境还是测试环境
  4. ? ? if (process.env.VUE_APP_TITLE === 'production') {
  5. ? ? ? ? //production 生产环境
  6. ? ? ? ? baseURL = 'http://192.168.10.111:8080/zhikong'
  7. ? ? } else {
  8. ? ? ? ? //test 测试环境
  9. ? ? ? ? baseURL = ''
  10. ? ? }
  11. } else {
  12. ? ? //development 开发环境
  13. ? ? baseURL = 'http://192.168.10.12:8080/zhikong'
  14. }
  15. export default baseURL

package.json 文件下的配置

根据不同的指示来说明具体去调用哪个接口地址

  1. {
  2. ? "scripts": {
  3. ? ? "serve": "vue-cli-service serve",
  4. ? ? // 根据不同的指示来说明具体去调用那个接口地址
  5. ? ? "build": "vue-cli-service build --mode build",
  6. ? ? "test": "vue-cli-service build --mode test",
  7. ? ? "lint": "vue-cli-service lint"
  8. ? }
  9. }

.env.build 和 .env.test 文件

在和 src 文件夹同级的根目录下新建 .env.build 和 .env.test 文件

.env.build

  1. NODE_ENV = 'production'
  2. VUE_APP_TITLE = 'production'

.env.test

  1. NODE_ENV = 'production'
  2. VUE_APP_TITLE = 'test'

vue.config.js 文件配置

npm run build 根据环境生成不同打包的文件夹

  1. const path = require('path')
  2. function resolve (dir) {
  3. ? ? return path.join(__dirname, dir)
  4. }
  5. module.exports = {
  6. ? ? publicPath: './',
  7. ? ? // `npm run build` 根据环境生成不同打包的文件夹
  8. ? ? outputDir: process.env.VUE_APP_TITLE === 'production' ? 'dist-zhikong' : 'test',
  9. ? ? assetsDir: "",
  10. ? ? indexPath: 'index.html',
  11. ? ? filenameHashing: true,
  12. ? ? lintOnSave: false,
  13. ? ? runtimeCompiler: false,
  14. ? ? transpileDependencies: [],
  15. ? ? productionSourceMap: false,
  16. ? ? integrity: false,
  17. ? ? configureWebpack:{?
  18. ? ? ? ? resolve:{ ??
  19. ? ? ? ? ? ? alias:{
  20. ? ? ? ? ? ? ? ? '@': resolve('src'),
  21. ? ? ? ? ? ? }?
  22. ? ? ? ? }
  23. ? ? },
  24. ? ? devServer:{ ??
  25. ? ? ? ? port:8080,
  26. ? ? ? ? host:'0.0.0.0',
  27. ? ? ? ? open:true,
  28. ? ? ? ? https:false,
  29. ? ? ? ? overlay: {
  30. ? ? ? ? ? ? warnings: true,
  31. ? ? ? ? ? ? errors: true
  32. ? ? ? ? }
  33. ? ? }
  34. }

vue接口路径配置

在个人开发中,大多说vue的封装是固定形式

是写在文件中,切不可更改

例:

  1. URL: 'http://127.0.0.1:8182/',
  2. axios()//方式
  3. ajax()//方式

如何在项目封装后依然可以更改?

创建文件

在根目录下创建static文件夹(现版本要放在public中,哪个行用哪个)

并创建config.json文件

  1. {
  2. ? "name": "static",
  3. ? "version": "1.0.0",
  4. ? "url": "http://127.0.0.1:8183/",
  5. ? "dependencies": {},
  6. }

在json中可以放版本号,项目名、后台路径、以及文件路径

axios获取json文件内容

使用async await进行同步请求

  1. export default async function request(config) {
  2. //public/config.json
  3. await axios.get('static/config.json').then(res => {
  4. ? ? console.log(res.data.url)
  5. ? ? URL = res.data.url
  6. ? })
  7. axios()//方法
  8. ajax()//方法
  9. }

在这样的请求的的时候,在 json文件不混乱的情况下,不需要考虑将内容提前预置在vuex缓存中,差距人的反应是感受不到的,甚至可能会因为某种原因丢失就得不偿失了 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号