我使用es6,在一个文件里面import一个第三方模块,但是这个第三方模块没有使用严格模式来书写,比如使用了callee之类的,造成了代码无法运行。那么我应该怎么处理这个问题呢?
欢迎选择我的课程,让我们一起见证您的进步~~
不清楚你是不是用的 babel。在 babel-preset-es2015 中使用了 babel-plugin-transform-es2015-modules-commonjs 这个插件,而这个插件中又使用了 babel-plugin-transform-strict-mode (该插件会添加 use strict)这个插件。
babel
babel-preset-es2015
babel-plugin-transform-es2015-modules-commonjs
babel-plugin-transform-strict-mode
use strict
所以如果你不想添加 use strict 的话,就只能不使用 babel-prest-2015 和 babel-plugin-transform-es2015-modules-commonjs。要么就不要使用这个第三方模块。
babel-prest-2015
有一个非官方的 preset: babel-preset-es2015-native-modules,这个 preset 中移除了babel-plugin-transform-es2015-modules-commonjs 这个插件,其他的都和 babel-prest-es2015 一样,你可以尝试一下。(推荐这个方法)
preset
babel-preset-es2015-native-modules
babel-prest-es2015
顺便问一下,这个「第三方」模块是个什么模块,居然还在使用 callee 这个不推荐使用的属性,说出来,看看有没有其他可以替代的模块。
callee
不清楚你是不是用的
babel
。在babel-preset-es2015
中使用了babel-plugin-transform-es2015-modules-commonjs
这个插件,而这个插件中又使用了babel-plugin-transform-strict-mode
(该插件会添加use strict
)这个插件。所以如果你不想添加
use strict
的话,就只能不使用babel-prest-2015
和babel-plugin-transform-es2015-modules-commonjs
。要么就不要使用这个第三方模块。有一个非官方的
preset
:babel-preset-es2015-native-modules
,这个 preset 中移除了babel-plugin-transform-es2015-modules-commonjs
这个插件,其他的都和babel-prest-es2015
一样,你可以尝试一下。(推荐这个方法)顺便问一下,这个「第三方」模块是个什么模块,居然还在使用
callee
这个不推荐使用的属性,说出来,看看有没有其他可以替代的模块。