安装babel后,我得到一个未声明变量的异常

时间:2019-01-13 10:28:38

标签: javascript webpack ecmascript-6 babel

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

HELLO = 'Hello';

我安装了babel,以便可以使用所有ES next功能,但是babel现在似乎不怎么处理全局变量

.babelrc

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

更新!

似乎是通天塔转译而来的。 Babel添加了:"use strict";。这就是我的代码失败的原因

2 个答案:

答案 0 :(得分:0)

您可以通过将var分配给窗口来实现全局 像这样:

window.HELLO = 'hello';

答案 1 :(得分:0)

好的。 我花了一些时间才弄清楚。

这是解决方案: 将其添加到.babelrc

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