iview admin 是基於 iview 的一套後臺管理系統,界面清爽,功能比較完整,很適合快速上手。不過它未兼容IE(非Edge)9/10,而本該能夠部分支持的。這裏提供一些解決方案。html
本人是經過vue-cli
初始化工程的,實測發現,編譯打包時,/node_modules/iview/src
裏的兩處const變量爲被轉換爲var,而iview/dist/
裏面是正確轉換來的。vue
接着,所有照搬iview admin配置,仍然如此。node
發現是webpack
配置問題,解決方案:webpack
在webpack.base.conf.js
的test: /\.js$/
規則裏,新增一個include
項,即resolve('/node_modules/iview/src')
。git
參考來源:http://blog.csdn.net/nongweiyilady/article/details/78893504github
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
admin中直接用到了DOM的dataset屬性,也須要向後兼容,解決方法:
添加依賴element-dataset
,導入並初始化便可。
import ElementDataset from 'element-dataset'; ElementDataset();
僅供參考,或許能解決某些IE下的奇怪兼容性問題。。。
{ "presets": [ ["env", { "modules": false }], "stage-0" ], "plugins": ["transform-vue-jsx", "transform-runtime"] }
最近驗證發現,在IE 11及如下仍然會報錯,初步懷疑是webpack版本問題,只能使用2.7.1或更低版本。未降級驗證,好在目前沒這必要性,不折騰了。讓IE低版本早日退出歷史舞臺吧。