溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何解決Vue+Element ui開發(fā)中碰到的IE問(wèn)題

發(fā)布時(shí)間:2021-07-20 09:57:39 來(lái)源:億速云 閱讀:258 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)如何解決Vue+Element ui開發(fā)中碰到的IE問(wèn)題,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

IE9樣式錯(cuò)亂,IE11無(wú)法正常加載v-loading等問(wèn)題

引入了babel-polyfill插件,依然出現(xiàn)”polyfill-eventsource added missing EventSource to window”的奇怪問(wèn)題(ie所有版本都有出現(xiàn))

第一步:安裝babel-ployfill (已安裝請(qǐng)?zhí)^(guò)此步驟)

yarn add babel-ployfill

修改webpack打包配置文件:webpack.bash.conf.js

 // 引入babel-ployfill
 var babelPloyfill = require('babel-ployfill')

 // ...
 // 修改entry字段
 entry: {
 // app: './src/main.js'
 app: ["babel-polyfill", "./src/main.js"]
 },

重新運(yùn)行,v-loading等問(wèn)題完美解決, 原因可能是v-loading是調(diào)用的ES6的Object的setter和getter方法來(lái)實(shí)現(xiàn)的,babel-ployfill報(bào)錯(cuò),未能將ES6的方法完全轉(zhuǎn)換為IE9支持的ES5方法

IE9樣式錯(cuò)亂

可能的原因1,element-ui 中使用了 display: flex; 樣式,IE9不支持次樣式,解決方法為,排查下各組件,避免使用帶 display: flex; 的組件

可能的原因2,IE9瀏覽器過(guò)于老舊,單文件最大行數(shù)超過(guò)一定限制將不再讀取后邊的內(nèi)容,因此可以嘗試分割css文件和打包的js文件

分割js文件,最好的方法是采用vue的路由懶加載,這樣打包時(shí),vue-loader會(huì)把每個(gè)路由對(duì)應(yīng)的js文件打包在一起。同時(shí)注意組件的合理劃分,避免單組件體積過(guò)大,并提高組件的復(fù)用性

分割css文件,通過(guò)yarn add css-split-webpack-plugin -D安裝css-split-webpack-plugin包來(lái)分割組件,修改

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]')
 }),

關(guān)于“如何解決Vue+Element ui開發(fā)中碰到的IE問(wèn)題”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI