基于dva@2和ant design的react项目IE兼容调整

项目要求兼容IE9,在实际应用中出现以下问题:
(一)引用“babel/polyfill”后出现空白页面并且在按下F12后有报错:这里写图片描述

查找资料后修改如下:
1:重新安装 “@babel/polyfill”: “^7.0.0-beta.51”,
2:在index.js中引用

import '@babel/polyfill';
Object.setPrototypeOf = require('setprototypeof');

3:新建文件setprototypeof.js,代码为:

module.exports =
  Object.setPrototypeOf ||
  ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties)

function setProtoOf(obj, proto) {
  obj.__proto__ = proto
  return obj
}

function mixinProperties(obj, proto) {
  // make getPrototypeOf helper work
  Object.defineProperty(obj, '__proto__', {
    value: proto,
  })

  for (var prop in proto) {
    if (!obj.hasOwnProperty(prop)) {
      obj[prop] = proto[prop]
    }
  }
  return obj
}

(二)如果按下F12页面显示正常否则仍是空白页面,在index.js中添加代码

window.console = window.console || (function(){ 
var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){}; 
return c; 
})();

问题解决
参考:https://blog.csdn.net/koala25/article/details/70230046

(三)所有的:before,:after都不可用,需要使用::before,::after

(四)ant design 输入框中placeholder样式不一致

这个问题还在解决中,如果大家有好的解决方法,欢迎留言~

猜你喜欢

转载自blog.csdn.net/yede0632/article/details/80746264
今日推荐