iview-admin IE兼容方案(已棄坑) 原

iview admin 是基於 iview 的一套後臺管理系統,界面清爽,功能比較完整,很適合快速上手。不過它未兼容IE(非Edge)9/10,而本該可以部分支持的。這裏提供一些解決方案。

一、const polyfill

本人是通過vue-cli初始化工程的,實測發現,編譯打包時,/node_modules/iview/src裏的兩處const變量爲被轉換爲var,而iview/dist/裏面是正確轉換來的。

接着,全部照搬iview admin配置,仍然如此。

發現是webpack配置問題,解決方案:

webpack.base.conf.jstest: /\.js$/規則裏,新增一個include項,即resolve('/node_modules/iview/src')

參考來源:http://blog.csdn.net/nongweiyilady/article/details/78893504

二、Promise polyfill

IE低版本原生不支持Promise,但是transform-runtime插件,應該是能提供兼容的,結果沒有。

這也是webpack配置問題,沒有導出全局的Promise對象。解決方法:

main.js頭部添加一句window.Promise = Promise;即可。

*注意:*原版是src/vendors/vendors.base.js文件,我未完全照搬,下同。

參考來源:http://www.cnblogs.com/pheye/p/7659910.html

三、dataset polyfill

admin中直接用到了DOM的dataset屬性,也需要向後兼容,解決方法:

添加依賴element-dataset,導入並初始化即可。

import ElementDataset from 'element-dataset';

ElementDataset();

四、babelrc配置參考

僅供參考,或許能解決某些IE下的奇怪兼容性問題。。。

{
  "presets": [
    ["env", {
      "modules": false
    }],
    "stage-0"
  ],
  "plugins": ["transform-vue-jsx", "transform-runtime"]
}

棄坑

最近驗證發現,在IE 11及以下仍然會報錯,初步懷疑是webpack版本問題,只能使用2.7.1或更低版本。未降級驗證,好在目前沒這必要性,不折騰了。讓IE低版本早日退出歷史舞臺吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章