-
第一步:安裝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]') }),