使用core-js报can't redefine toString错误,怎么办?
发布于 5 年前 作者 xumin 10506 次浏览 来自 官方Issues

背景是这样的,我需要使用webpack+babel去打包项目,同时需要依赖一些新的es678语法,所以`@babel/preset-env`的`useBuiltIns`设置为`usage`,但打包后会报错`can’t redefine toString`。

后来我就改为`false`,可以正常打包,但当我尝试直接引入`core-js`时报了同样的错(core-js 2和3都会报错),然后问题就定位到`core-js`的这么一段

// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
})(Function.prototype, TO_STRING, function toString() {
  return typeof this == 'function' && this[SRC] || $toString.call(this);
});

那么原因应该就是小程序的`Function.prototype.toString`不允许被重新定义,控制台试了下确实是这样,那现在有什么解决方法么?可以让我自动polyfill.

1 回复

有人看到么?

回到顶部