首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让Webpack 2支持IE8

让Webpack 2支持IE8
EN

Stack Overflow用户
提问于 2017-09-12 18:06:29
回答 1查看 740关注 0票数 2

我想在一个仍然支持IE8的大型项目中使用Webpack 2。

我已经安装了babel-preset-env,这样我就可以很容易地在将来一个接一个地弃用任何IE < 11,一旦每个浏览器都不被这个项目支持。

根据babel-preset-env自述文件,“如果你的目标是IE 8和Chrome55,那么babel-preset-env将包含IE 8所需的所有插件,因为你仍然需要同时支持这两个插件。”

据我所知,我还需要安装babel-polyfill,主要是为了它的IE5填充,但也是为了它的ES6和7个我可能想要使用的特性。

然而,在安装了这些东西之后,我的代码在第一次运行Object.defineProperty(__webpack_exports__, "__esModule", { value: true });的时候仍然运行在IE8上(在浏览器堆栈中)。我认为这个函数已经被填充物“修复”了。

它是不是没有得到正确的垫片?我是不是漏掉了一步?

EN

回答 1

Stack Overflow用户

发布于 2017-11-14 13:09:38

我以前也遇到过同样的问题,下面是我为解决这个问题所做的。

在es6特性中,

类可以使用get和set定义属性来封装字段。

但它不能在IE8上运行。

因为see the docs,不支持defineProperty方法

因此,我们更改了整个代码模式,如下所示

代码语言:javascript
复制
let val1;

class className {

    methodName() {
        this.val2 = 'test';
        //code here
    }

    getVal1() {
        return val1;
    }

    setVal1(_val1) {
        val1 = _val1;
    }

    getVal2() {
        return this.val2;
    }

    setVal2(_val2) {
        this.val2 = _val2;
    }
}

module.exports = className;

我建议将'es3ify‘see the link,github es3ify添加到您的针对IE7/8的webpack版本中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46173593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档