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

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

1、const polyfill

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

接着,所有照搬iview admin配置,仍然如此。node

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

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

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

2、Promise polyfill

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

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

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

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

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

3、dataset polyfill

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

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

import ElementDataset from 'element-dataset';

ElementDataset();

4、babelrc配置參考

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

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

棄坑

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

相關文章
相關標籤/搜索