在项目开始的时候,要先确定项目是否兼容到 IE8 及一下的版本,因为vue支持 IE8 以及更低版本 。
1、ES6语法不支持
解决方法:
引入babel-polyfill
npm install –save bable-polyfill
webpack.base.conf.js中修改为
app: ['event-source-polyfill', 'babel-polyfill', './src/main.js']
main.js 中引入
import 'babel-polyfill';
2、GET非首次请求时,IE默认使用缓存而不是去后台请求
解决方法:
在request拦截时,加时间戳
service.interceptors.request.use(config => {
// Do something before request is sent
// // 时间戳
if (config.method === 'get') {
config.params = {
t: Date.parse(new Date()) / 1000,
…config.params
}
}
return config;
}, error => {
// Do something with request error
console.log(error); // for debug
Promise.reject(error);
3、上传文件时,文件类型检查。如果为.apk文件,则file.type为" ".而jpg/png等文件正常
导致上传apk文件时,会报类型检查错误
解决方法:
export function validateApk(file) {
if (file.type === 'application/vnd.android.package-archive') {
return true;
} else {
if (file.name.substring(file.name.lastIndexOf('.') + 1) === 'apk') {
return true;
}
}
return false;
4、上传文件时,后台读取file.getName或者file.getOriginalName为全路径名称
解决方法:
后台去处理,如果为全路径,则进行字符串截取
vuex在IE11的兼容问题
IE11没有内置promise,所以用不了vuex很正常。为了兼容,首先要安装一个库。
安装好之后在main.js中引入,然后在build中配置一下入口entry即可