前言:通常在vue的开发中,我们会使用到各式各样的插件库,比如说最常见的elementUI、vant等。通常我们只会使用这些插件,却不知道其中的原理。现在我来记录一下,从0到1开发一个简单的插件,然后再发布到npm官网开源的整个过程。以后有时间的时候,可以通过这种方式开发出更多的插件,从而提高工作和开发的效率。
2024年04月03日
前言:通常在vue的开发中,我们会使用到各式各样的插件库,比如说最常见的elementUI、vant等。通常我们只会使用这些插件,却不知道其中的原理。现在我来记录一下,从0到1开发一个简单的插件,然后再发布到npm官网开源的整个过程。以后有时间的时候,可以通过这种方式开发出更多的插件,从而提高工作和开发的效率。
2024年04月03日
MI-vant组件库 打造一个内部的组件库,在我们进行代码的重构,以及开发新的功能的时候,抽离公共的组件,减少代码的复用,注重业务与组件的分离,简化耦合度,便于开发与维护。 特性
2024年04月03日
1. 接口模块处理 1.1 axios二次封装 这里封装的依据是后台传的JWT,已封装好的请跳过。import axios from 'axios'
import router from '../router'
import {MessageBox, Message} from 'element-ui'
let loginUrl = '/login'
// 根据环境切换接口地址
axios.defaults.baseURL = process.env.VUE_APP_API
axios.defaults.headers = {'X-Requested-With': 'XMLHttpRequest'}
axios.defaults.timeout = 60000
// 请求拦截器
axios.interceptors.request.use(
config => {
if (router.history.current.path !== loginUrl) {
let token = window.sessionStorage.getItem('token')
if (token == null) {
router.replace({path: loginUrl, query: {redirect: router.currentRoute.fullPath}})
return false
} else {
config.headers['Authorization'] = 'JWT ' + token
}
}
return config
}, error => {
Message.warning(error)
return Promise.reject(error)
})
2024年04月03日
今天我们一步一步把各种不同的技术结合一起来完成页面的单元测试和 e2e 测试。 karma是一款测试流程管理工具,包含在执行测试前进行一些动作,自动在指定的环境(可以是真实浏览器,也可以是PhantamJS 等 headless browser)下运行测试代码等功能。mocha测试框架,类似的有 jasmine 和 jest 等。个人感觉 mocha 对异步的支持和反馈信息的显示都非常不错。power asser断言库,特点是 1 karma + mocha + power assert
2024年04月03日
说实话问题来的有点突然,只要我不使用svg图标,问题不是都解决了吗? 灵魂拷问:iconfont难道不香吗? 此事说来话长,长话短说就是:设计只认svg 「纯展示」最快最简单的办法就是插件:vue-svg-icon、svg-sprite-loader、vue-svgicon
2024年04月03日
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 说明: 本文介绍Vue 开发中对axios 的封装处理,不对axios 概念详细介绍
2024年04月03日
这三个小技巧应该熟知: