我使用React、Webpack和Babel构建项目,希望它能在IE8中运行,但问题在于IE8不支持Object.defineProperty函数。
虽然我没有使用这个函数,但是像react-router这样的npm包会使用它。我尝试过polyfill、es5-shim、es5-sham以及许多Babel插件,但不幸的是对我来说都没有用...
那么我还能为这种情况做些什么呢?
非常感谢。
我使用React、Webpack和Babel构建项目,希望它能在IE8中运行,但问题在于IE8不支持Object.defineProperty函数。
虽然我没有使用这个函数,但是像react-router这样的npm包会使用它。我尝试过polyfill、es5-shim、es5-sham以及许多Babel插件,但不幸的是对我来说都没有用...
那么我还能为这种情况做些什么呢?
非常感谢。
babel-preset-es2015-loose
而不是babel-preset-es2015
,这将停止大多数使用Object.defineProperty
。
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!')
。实际上我不知道什么代码引起了这个错误...非常感谢。 - PrometheusObject.defineProperty
无法转译。Loose 模式告诉 Babel 尽可能避免使用它,但是根据您的用法,它仍然可能出现。例如,export * from 'foo';
将生成Object.defineProperty
调用。您需要调试代码库并找出调用它的位置。 - loganfsmythexport default
和export *
重构为module.exports
,我保证我的代码没有问题。这一定是第三方库的错误,但我无法定位它。不过还是谢谢你... - Prometheus