收藏
回答

使用core-js报can't redefine toString错误,怎么办?

背景是这样的,我需要使用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.

最后一次编辑于  09-12  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答
问题标签