javascript - Meteor eslint 配置用于包开发与全局命名空间导出

标签 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 是不可行的,因为它是 eslint 发现未使用变量的最强大工具之一。

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


编辑:

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

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

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

所以代码实际上是:

VariableName = require('packageName');

最佳答案

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

Link to documentation

例如,将以下代码放在出现此错误的文件的顶部:

/* global VariableName:true */

关于javascript - Meteor eslint 配置用于包开发与全局命名空间导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49347427/

相关文章:

meteor - Bootboxjs : how to render a Meteor template as dialog body

javascript - Meteor React - 单击按钮可以重新订阅另一个订阅

sql - Oracle 错误 PLS-00323 : subprogram or cursor is declared in a package specification and must be defined in the package body

package - Julia - 如何使用我的软件包的 fork 版本而不是 Pkg 附带的标准软件包?

Python 从更高级别的包中导入模块

javascript - 如何使用下拉菜单中的值计算输入字段中的数字?

javascript - 如何使用 javascript 检索当前用户的语言?

javascript - Node JS + AWS Promise 触发两次

javascript - 如何在 html 表格单元格中找到部分字符串并将文本附加到该值

javascript - 在严格模式下定义变量