IE9樣式錯亂,IE11無法正常加載v-loading等問題 引入了babel-polyfill插件,依然出現”polyfill-eventsource added missing EventSource to window”的奇怪問題(ie所有版本都有出現)


  1. 第一步:安裝babel-ployfill (已安裝請跳過此步驟)

      yarn add babel-ployfill
  2. 修改webpack打包配置文件:webpack.bash.conf.js

      // 引入babel-ployfill var babelPloyfill = require('babel-ployfill') // ... // 修改entry字段 entry: { // app: './src/main.js' app: ["babel-polyfill", "./src/main.js"] },
  3. 重新運行,v-loading等問題完美解決, 原因可能是v-loading是調用的ES6的Object的setter和getter方法來實現的,babel-ployfill報錯,未能將ES6的方法完全轉換為IE9支持的ES5方法

IE9樣式錯亂

  • 可能的原因1,element-ui 中使用了 display: flex; 樣式,IE9不支持次樣式,解決方法為,排查下各組件,避免使用帶 display: flex; 的組件
  • 可能的原因2,IE9瀏覽器過於老舊,單文件最大行數超過一定限制將不再讀取后邊的內容,因此可以嘗試分割css文件和打包的js文件

    1. 分割js文件,最好的方法是采用vue的路由懶加載,這樣打包時,vue-loader會把每個路由對應的js文件打包在一起。同時注意組件的合理划分,避免單組件體積過大,並提高組件的復用性
    2. 分割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]') }),


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM