【问题标题】:Babel Config "strict mode"Babel 配置“严格模式”
【发布时间】:2016-01-13 23:23:20
【问题描述】:

由于某些奇怪的原因,我无法在我的构建过程中编译“供应商”库。

我收到此错误:SyntaxError: <FILENAME> 'with' in strict mode

(其中<FILENAME> 是实际存在的文件名)

失败的行是> 130928 | with (locals || {}) { (function(){ ,它抱怨with。请记住,此文件不在我的控制范围内。

我的.babelrc 文件有这个配置。

{
    "compact": true,
    "plugins": [
        "transform-runtime",
        "undeclared-variables-check"
    ],
    "presets": [
        "es2015",
        "stage-0"
    ]
}

我正在使用 babel 6,我知道一般意识是使用版本 5,但也没有运气。

【问题讨论】:

  • 为什么一开始就通过 babel 运行 ES5 代码?
  • 它提供的“性感”缩小和优化。上面谷歌的闭包编译器,还是uglify。我知道它有效,因为我已经阅读了编译代码的 React 应用程序,它比 uglify 更有意义。
  • Babel 不会缩小/优化。
  • 引用什么不存在?抱歉,我无法获得指向不存在页面的链接。
  • 为了让它工作 - 你不要通过 babel 传递 ES5 代码。缩小 - 您使用旨在缩小的工具。 Babel 不是其中之一。

标签: javascript gulp babeljs


【解决方案1】:

不知道为什么还没有回答。

es2015 预设(据我了解,每个 babel 预设)启用严格模式。查看MDN's article on strict mode,特别是标题为“简化变量使用”的部分。 with 在严格模式下是非法的。

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多