比如validate.js
// validate.js
// 过滤特殊字符
export function stripscript(s) {
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&;—|{}【】 ‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs + s.substr(i, 1).replace(pattern, '');
}
return rs;
}
// 验证邮箱
export function validatemail(v) {
var reg = /^[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*\.[a-z]{2,}$/
return reg.test(v) ? false : true
}
// 验证密码
export function validatepassword(v) {
var reg = /^(?!\D+$)(?![^a-zA-Z]+$)\S{6,20}$/
return reg.test(v) ? false : true
}
// 验证验证码
export function validatecode(v) {
var reg = /^[a-z0-9]{6}$/
return reg.test(v) ? false : true
}
这样的文件,里面没有export default
,只有export
,可以导出多个,那么外部引用时候,就要用花括号把每个变量单独引用出来,也就是解构赋值:
import { stripscript, validatemail, validatepassword, validatecode } from '@/utils/validate'
对于request.js
// request.js
import axios from 'axios'
// 创建axios实例
const service = axios.create()
// 添加请求拦截器
service.interceptors.request.use((config) => {
return config
}, (error) => {
return Promise.reject(error)
})
// 添加响应拦截器
service.interceptors.response.use((response) => {
return response
}, (error) => {
return Promise.reject(error)
})
service.request({
method: 'post',
url: '/user/12345',
data: {
firstname: 'Fred',
lastName: 'XXX'
}
})
export default service
里面只有一个export default
(export default只能出现一次),这样的文件在外部引入,就可以不加括号,直接引入:
import service from '@/utils/request'
不需要写成这样:
import {service} from '@/utils/request'