美文网首页vue专题程序员
vue-cli项目中抽离管理所有接口地址的一个简单粗暴的方案

vue-cli项目中抽离管理所有接口地址的一个简单粗暴的方案

作者: 风中凌乱的男子 | 来源:发表于2019-03-06 15:26 被阅读0次

第一步:根据环境使用相应的host地址

一般来说,开发环境和生产环境所用的接口地址不会是同一个,比如大多数开发者都会在开发环境配置mock server而在生产环境使用真实api。更别说严谨的项目可能会有测试环境和预发环境。

方法1. 配置DefinePlugin

一个方法是在 webpack.dev.conf.js 和 webpack.prod.conf.js 中,直接把环境变量加在webpack.DefinePlugin 里。

需要的时候直接用就行:

this.axios.get ( API_HOST + '/api/what ') . then( function (res) { } );

方法2. 配置config

修改config/index.js,使各个环境配置里面的env文件名根据环境变量获取:

分别修改config目录下所有的环境配置文件,以prod.env.js为例:

然后在任何地方就可以直接使用 process.env.API_HOST来访问。

我个人倾向于这种方法,虽然稍微麻烦一点,但是更干净合理,毕竟config.js就是给你做特殊设置的,能在config里配置的绝不进build里配置。

第二步:抽离所有接口地址放入同一个文件里管理

第一步已经满足了大部分开发者的需要,一般如果接口少且来源唯一,第二步没必要。

但如果你的项目使用了很多来源的接口,比如和第三方合作的,使用了开放接口的,使用了之前项目接口的,变数很多,接口命名风格也不统一,这不是一个洁癖前端想要的。

首先,在任何一个地方新建一个接口管理文件api_list.js(我习惯放进/config),写入你需要统一管理的:

然后在入口文件main.js里先引入这个配置对象,然后直接简单粗暴地挂载到window对象上:

很多人谈全局变量色变,我觉得只要命名清晰规范,又有命名空间,不会有任何问题。

使用的时候直接API.API_ONE这样子去用就行:

简单粗暴,但又很实用。网上大多数方案都是写一个配置文件然后在用到的地方引入,这很符合模块化,但很麻烦。这个方案不同之处就是挂载了window对象。

相关文章

  • vue-cli项目中抽离管理所有接口地址的一个简单粗暴的方案

    第一步:根据环境使用相应的host地址 一般来说,开发环境和生产环境所用的接口地址不会是同一个,比如大多数开发者都...

  • Vue 项目解决跨域问题

    vue 项目中解决接口跨域的方法 1.简单粗暴直接用jquery 的jsonp 来调用跨域跨域接口 2.如果本地引...

  • iOS简易时间选择器

    这个时间选择器 是我项目中用到的一个 我抽离出来 有需要的 直接拿走 地址:

  • vue + iview + indexedDB完成的商店管理系统

    V-Shop Vue构建的小商店管理系统 预览地址 在项目中主要使用: vue-cli 构建项目 iview 实现...

  • 一吼二凶三骂人

    为什么管理中简单粗暴屡禁不止,那是因为简单粗暴有奇效。 为什么需要简单粗暴,关键是不和谐,而和谐是一个团队的基本要...

  • vue-cli配置mock数据

    旧版本vue-cli参考如下文章:【最简单版】vue-cli项目中怎么mock数据 因为最新版本的vue-cli已...

  • 学习笔记

    配置 webpack 将接口代理到本地 原作者FungLeo,原文地址。 在Vue-cli的config/inde...

  • 项目中管理工具

    接口文档管理 1、最简单的就是拿excel表格,在收个sheet里面建一个总的接口目录,然后每一项(可以是单独的接...

  • 一个简单的文件夹系统(Realm实现,Swift3.1)

    一个简单的文件夹系统(Realm实现,Swift3.1) 这个简单的文件夹系统是原本公司项目中的一部分,现在抽离出...

  • 目前技术缺陷

    dubbo接口测试方案?【急】【jmeter测试】 简单灰度上线方案?【急】【运维walle】 简单的业务监控方案...

网友评论

    本文标题:vue-cli项目中抽离管理所有接口地址的一个简单粗暴的方案

    本文链接:https://www.haomeiwen.com/subject/vtztpqtx.html