使用globale namespace export

时间:2018-03-18 11:38:12

标签: javascript meteor package eslint

开发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是不可取的,因为它是发现未使用变量的最佳工具之一。

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

编辑:

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

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

我忘了提一下,该软件包导入了一个外部npm软件包,修改了它的一些功能,以便与Meteor的环境兼容,然后再将其导出。

所以代码实际上是:

VariableName = require('packageName');

1 个答案:

答案 0 :(得分:1)

您可以指定某些变量是全局变量,这些变量将专门为这些变量而不是其他变量禁用此错误。

Link to documentation

一个示例是将以下代码放在您遇到此错误的文件的顶部:

/* global VariableName:true */