如何让 Cloud9 接受 "global" 变量?

How do I get Cloud9 to accept a "global" variable?

通过使用 Cloud9,我注意到编辑器接受 $ 作为全局变量,但不接受其他变量,例如 _:

有什么方法可以指示编辑器接受全局下划线变量吗?


当我在这种情况下说 "global" 时,我的意思是 "defined on the window object"

我在 support.cloud9ide.com 上找到了解决方法:

通过在注释中将 _ 声明为全局变量,我避免了警告,但这仍然意味着我需要修改项目中的每个 javascript 文件以安抚单个文本编辑器,我不喜欢。我更喜欢一个选项,我可以配置 editor 来接受下划线,就像默认情况下它已经接受 $ 一样。

这个问题还没有得到回答,所以我想我会更新从 Google 来到这里的每个人。

现在无需在每个 javascript 文件的顶部显式定义全局变量即可执行此操作,方法是在 C9 项目的根目录中使用 .eslintrc 文件。 You can see the documentation for this here on the eslint site.

对于您的用例,您的 .eslintrc 文件将如下所示:

{
    "globals": {
        "_": false
    }
}

将其分配给 false 意味着当您尝试覆盖全局时,linter 会警告您。将其设置为 true 将允许重新分配全局变量。 Javascript 将允许您在任何一种情况下都这样做,此设置只会影响 linter 行为。