接口管理在src/api 文件夹下统一管理接口
- 你可以建立多个模块对接接口, 比如 home.js 里是首页的接口这里讲解user.js
- url 接口地址,请求的时候会拼接上 config 下的 baseApi
- method 请求方法
- data 请求参数 qs.stringify(params) 是对数据系列化操作
- hideloading 默认 false,设置为 true 后,不显示 loading ui 交互中有些接口不需要让用户感知
import qs from 'qs'// axiosimport request from '@/utils/request'//user api// 用户信息export function getUserInfo(params) { return request({ url: '/user/userinfo', method: 'get', data: qs.stringify(params), hideloading: true // 隐藏 loading 组件 })}如何调用// 请求接口import {getUserInfo} from '@/api/user.js'const params = {user: 'sunnie'}getUserInfo(params) .then(() => {}) .catch(() => {})? Webpack 4 vue.config.js 基础配置如果你的 Vue Router 模式是 hashpublicPath: './',如果你的 Vue Router 模式是 history 这里的 publicPath 和你的 Vue Routerbase 保持一直publicPath: '/app/',const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)module.exports = { publicPath: './', // 署应用包时的基本 URL 。vue-router hash 模式使用 // publicPath: '/app/', // 署应用包时的基本 URL 。 vue-router history模式使用 outputDir: 'dist', // 生产环境构建文件的目录 assetsDir: 'static', // outputDir的静态资源(js、css、img、fonts)目录 lintOnSave: false, productionSourceMap: false, // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建 。 devServer: { port: 9020, // 端口号 open: false, // 启动后打开浏览器 overlay: { // 当出现编译器错误或警告时,在浏览器中显示全屏覆盖层 warnings: false, errors: true } // ... }}? 配置 proxy 跨域如果你的项目需要跨域设置,你需要打开 vue.config.js proxy 注释 并且配置相应参数注意:你还需要将 src/config/env.development.js 里的 baseApi 设置成 '/'
module.exports = { devServer: { // .... proxy: { //配置跨域 '/api': { target: 'https://test.xxx.com', // 接口的域名 // ws: true, // 是否启用websockets changOrigin: true, // 开启代理,在本地创建一个虚拟服务端 pathRewrite: { '^/api': '/' } } } }}使用 例如: src/api/home.jsexport function getUserInfo(params) { return request({ url: '/api/userinfo', method: 'get', data: qs.stringify(params) })}? 配置 alias 别名const path = require('path')const resolve = dir => path.join(__dirname, dir)const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)module.exports = { chainWebpack: config => { // 添加别名 config.resolve.alias .set('@', resolve('src')) .set('assets', resolve('src/assets')) .set('api', resolve('src/api')) .set('views', resolve('src/views')) .set('components', resolve('src/components')) }}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 图赏|一亿像素AI四摄!Hi nova 9 SE开箱图赏
- Vue、React 和 Angular:该选择哪个框架?
- Vue 图片压缩并上传至服务器
- 2020年常见Vue面试题
- 2020 Mac mini 开箱测评
- React中类似Vue的“模板语法”
- Aqara|Aqara智能窗帘神器开卖:即挂即用 支持小爱、Siri
- 初学前端框架Vue.js,用vue ui创建项目会不会被鄙视
- ES6-proxy和Reflect以及vue3.0的响应式
- 微星MPG Z490 GAMING CARBON WIFI主板开箱小测
