【问题标题】:Meteor eslint config for package development with globale namespace exportMeteor eslint 配置用于包开发与全局命名空间导出
【发布时间】:2018-03-18 19:57:57
【问题描述】:

在开发 Meteor 包时,我可以选择使用导出包内容

api.export('VariableName');
api.addFiles('main.js');

必须“全局”声明包中的相应变量以匹配此定义(在main.js 中):

VariableName = { /* something... */ }

但是,这会导致 eslint 在使用此变量的每一行上抛出 no-undef

1:1   error  'VariableName' is not defined  no-undef
....
141:1   error  'VariableName' is not defined  no-undef

no-undef 切换到off 是不可取的,因为它是 eslint 发现未使用变量的最强大工具之一。

如何在不关闭规则且不在变量前的每一行放置异常的情况下抑制此错误?


编辑:

通过添加全局规则/* global VariableName */ 我将收到一个只读错误:

Read-only global 'VariableName' should not be modified  no-global-assign

我忘了提到,这个包导入了一个外部 npm 包,修改了它的一些功能以与 Meteor 的环境兼容,然后再次导出它。

所以代码实际上是:

VariableName = require('packageName');

【问题讨论】:

    标签: javascript meteor package eslint


    【解决方案1】:

    您可以指定一些变量是全局变量,这将专门针对这些变量而不是其他任何变量禁用此错误。

    Link to documentation

    例如,将以下代码放在您遇到此错误的文件的顶部:

    /* global VariableName:true */
    

    【讨论】:

    • @Jankapunkt 编辑了我的答案 - 像我一样在评论中添加:true
    猜你喜欢
    • 2012-05-03
    • 1970-01-01
    • 2022-12-20
    • 2013-08-16
    • 2015-04-22
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多