首頁  >  問答  >  主體

javascript - 通过es6引入第三方模块,但是第三方模块使用的非严格模式,造成代码无法运行。

我使用es6,在一个文件里面import一个第三方模块,但是这个第三方模块没有使用严格模式来书写,比如使用了callee之类的,造成了代码无法运行。那么我应该怎么处理这个问题呢?

天蓬老师天蓬老师2724 天前294

全部回覆(1)我來回復

  • PHPz

    PHPz2017-04-10 16:53:44

    不清楚你是不是用的 babel。在 babel-preset-es2015 中使用了 babel-plugin-transform-es2015-modules-commonjs 这个插件,而这个插件中又使用了 babel-plugin-transform-strict-mode (该插件会添加 use strict)这个插件。

    所以如果你不想添加 use strict 的话,就只能不使用 babel-prest-2015babel-plugin-transform-es2015-modules-commonjs。要么就不要使用这个第三方模块。

    有一个非官方的 preset: babel-preset-es2015-native-modules,这个 preset 中移除了
    babel-plugin-transform-es2015-modules-commonjs 这个插件,其他的都和 babel-prest-es2015 一样,你可以尝试一下。(推荐这个方法)

    顺便问一下,这个「第三方」模块是个什么模块,居然还在使用 callee 这个不推荐使用的属性,说出来,看看有没有其他可以替代的模块。

    回覆
    0
  • 取消回覆