老反应和IE11 polyfills

时间:2018-06-18 14:22:00

标签: reactjs polyfills

我正在运行React 0.13并且无法升级(长篇故事)。不能使用Babel-Polyfill。 我需要使应用程序IE11兼容所以我需要实现很多polyfill。

我如何或可以将polyfill包含在单个文件中并使该文件全局可见?

我有一个只包含polyfills的文件(比如这个)

但我不确定如何将其包含在默认情况下全局可见。

if (typeof Object.assign != 'function') {
    Object.assign = function(target) {
        'use strict';
        if (target == null) {
            throw new TypeError('Cannot convert undefined or null to object');
        }

        target = Object(target);
        for (var index = 1; index < arguments.length; index++) {
            var source = arguments[index];
            if (source != null) {
                for (var key in source) {
                    if (Object.prototype.hasOwnProperty.call(source, key)) {
                        target[key] = source[key];
                    }
                }
            }
        }
        return target;
    };
}

1 个答案:

答案 0 :(得分:1)

您可以实现一个包装所有polyfill并将其导入任何需要的函数。

export function loadCustomPolyfills() {

    if (typeof Object.assign != 'function') {
        Object.assign = function(target) {
            ..
        };
    }

    //other polyfills

}

并在您的入口点文件中,在开头

import { loadCustomPolyfills } from './custom-polyfills';
loadCustomPolyfills();