国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解React項目中碰到的IE問題

2019-11-19 11:59:40
字體:
來源:轉載
供稿:網友

最近接手一個React項目,在IE下碰到了倆問題

IE11報錯如下:

跟蹤一下之后,發現是一些其他的npm包里面用到了startsWith這個方法,可以自己polyfill一下:

if (!String.prototype.startsWith) { String.prototype.startsWith = function (search, pos) { return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search }}

不過加prototype的方法畢竟不好,可以通過引入@babel/polyfill解決,在入口文件中引入import '@babel/polyfill';

IE11問題解決后,IE10又出問題了。。。

犯了stackoverflow和github的很多帖子之后,在這個帖子里找到,發現是Object.setPrototypeOf的問題,Object.setPrototypeOf說是支持了IE9-11, 實際在源碼里只實現了11+(https://github.com/paulmillr/es6-shim/blame/master/README.md#L78)

解決辦法可以是在polyfill url后加上excludes=Object.setPrototypeOf, 或者自己實現Object.setPrototypeOf方法,我這里引入了一個庫setprototypeof,然后在入口文件中加上Object.setPrototypeOf = require('setprototypeof');

其實這個庫里的實現代碼非常少, 可以簡單看下

'use strict'/* eslint no-proto: 0 */module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties)function setProtoOf (obj, proto) { obj.__proto__ = proto return obj}function mixinProperties (obj, proto) { for (var prop in proto) { if (!obj.hasOwnProperty(prop)) {  obj[prop] = proto[prop] } } return obj}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邮箱| 津南区| 宜宾县| 皋兰县| 克东县| 萨嘎县| 鄢陵县| 库伦旗| 枞阳县| 湖北省| 永新县| 永清县| 兴隆县| 永安市| 维西| 建平县| 延边| 株洲县| 新昌县| 芒康县| 邵东县| 怀柔区| 普兰县| 桂阳县| 金门县| 黎川县| 苗栗县| 民丰县| 长武县| 和硕县| 外汇| 汉阴县| 镇远县| 嘉祥县| 彩票| 漠河县| 庆云县| 六盘水市| 罗城| 娱乐| 水富县|