代码之家  ›  专栏  ›  技术社区  ›  IsraGab

安装babel之后,我得到一个未声明变量的异常[重复]

  •  3
  • IsraGab  · 技术社区  · 7 年前

    在我当前的项目中,我有很多全局变量: (未用var声明)

    HELLO = 'Hello';
    

    我安装了babel,这样我就可以使用所有的es-next函数,但是现在babel似乎不知道如何处理全局变量。

    巴贝尔

    {
      "presets": [
        [
        "@babel/preset-env",
        {
          "modules": "commonjs"
        }
      ]
      ],
      "plugins": ["angularjs-annotate"]
    }
    

    更新!!

    好像是巴别塔发出来的。 Babel补充说: "use strict"; . 这就是我的代码失败的原因

    2 回复  |  直到 7 年前
        1
  •  0
  •   l1nuxuser    7 年前

    您可以通过向窗口分配var来实现全局性。 像这样:

    window.HELLO = 'hello';
    
        2
  •  0
  •   IsraGab    7 年前

    好啊。 我花了一段时间才弄明白。

    解决方案如下: 把它添加到插件中。

    "plugins": [
        ["@babel/plugin-transform-modules-commonjs", {
        "strictMode": false
      }],
          "angularjs-annotate"
      ]