前端解决ie兼容问题
首先vue cli2 项目中使用Vuex时,ie浏览器会出现“Vuex requires a Promise polyfill in this browser”的错误提示,这是因为使用了ES6 Promise,而IE浏览器不支持,解决方案如下:
-
安装babel-polyfill 执行以下命令:
npm install --save babel-polyfill -
在main.js引入
import ‘babel-polyfill’, 注意这个要放在代码最上面一行,要第一个引入,保证下面的代码可以Es6转Es5。 -
在webpack.base.conf.js中配置:
entry: {
app: [‘babel-polyfill’,’./src/main.js’]
},
重新运行工程就可以了。
如果你是vue-cli3下 解决浏览器兼容性问题则如下:
-
安装babel-polyfill 执行以下命令: npm install --save babel-polyfill
-
在src同级目录下新建vue.config.js文件配置如下,transpileDependencies里面写你引入了babel-polyfill后还会报错的文件,一般是node_module里面的文件。
var webpack = require('webpack');
module.exports = {
publicPath: './' , // 从VueCLI 3.3 起已弃用baseUrl,请使用publicPath
productionSourceMap: false,
devServer: {
port: 8080
},
css: {
loaderOptions: {
sass: {
data: `@import "@/assets/styles/helpers/mixin.scss";`
}
}
},
configureWebpack:{
plugins:[]
},
transpileDependencies: ['@gsafety/*','@gsafety/vue-httpclient','@types/socket.io- client', 'socket.io-client', 'engine.io-client', '@gsafety/presence-client', '@gsafety/odata-client/*', '@gsafety/odata-client', 'resize-detector'],
chainWebpack: config => {
config.entry.app = ['@babel/polyfill', './src/main.ts'];
}
};