-
第一步:安装babel-ployfill (已安装请跳过此步骤)javascript
yarn add babel-ployfill
-
修改webpack打包配置文件:webpack.bash.conf.jscss
// 引入babel-ployfill var babelPloyfill = require('babel-ployfill') // ... // 修改entry字段 entry: { // app: './src/main.js' app: ["babel-polyfill", "./src/main.js"] },
-
从新运行,v-loading等问题完美解决, 缘由多是v-loading是调用的ES6的Object的setter和getter方法来实现的,babel-ployfill报错,未能将ES6的方法彻底转换为IE9支持的ES5方法vue
IE9样式错乱
- 可能的缘由1,element-ui 中使用了 display: flex; 样式,IE9不支持次样式,解决方法为,排查下各组件,避免使用带 display: flex; 的组件
-
可能的缘由2,IE9浏览器过于老旧,单文件最大行数超过必定限制将再也不读取后边的内容,所以能够尝试分割css文件和打包的js文件java
- 分割js文件,最好的方法是采用vue的路由懒加载,这样打包时,vue-loader会把每一个路由对应的js文件打包在一块儿。同时注意组件的合理划分,避免单组件体积过大,并提升组件的复用性
- 分割css文件,经过
yarn add css-split-webpack-plugin -D
安装css-split-webpack-plugin
包来分割组件,修改webpack.prod.conf.js文件
// 引入依赖 var CSSSplitWebpackPlugin = require('css-split-webpack-plugin').default // 在css打包插件后面新增css分割插件 new ExtractTextPlugin({ filename: utils.assetsPath('css/[name].[contenthash].css') }), // 新增的css分割插件 new CSSSplitWebpackPlugin({ size: 4000, filename: utils.assetsPath('css/[name]-[part].[ext]') }),