当JavaScript依赖于以前加载的脚本中的对象时,如何使用`eslint`我的JavaScript?

当JavaScript依赖于以前加载的脚本中的对象时,如何使用`eslint`我的JavaScript?,javascript,wordpress,gruntjs,eslint,Javascript,Wordpress,Gruntjs,Eslint,我想在我的WordPress插件中添加eslint。但我一直收到一条关于未定义名称的错误消息。在运行时,名称由浏览器中先前加载的脚本定义。如何让eslinteslint识别出这个特定的名称是正确的 来自eslint的错误:: /js/plugin.js 13:12 error 'Cookies' is not defined no-undef 我的插件的php使用wp\u enqueue\u script以Wo

我想在我的WordPress插件中添加eslint。但我一直收到一条关于未定义名称的错误消息。在运行时,名称由浏览器中先前加载的脚本定义。如何让eslinteslint识别出这个特定的名称是正确的

来自eslint的错误::

/js/plugin.js
    13:12   error  'Cookies' is not defined                                    no-undef
我的插件的php使用
wp\u enqueue\u script
以WordPress的方式加载javascript文件。我的插件的javascript依赖于jquery和js cookie,js cookie依赖于jquery。因此,Wordpress将确保for js cookie先于for my插件

plugin.php:

wp_enqueue_脚本('js cookie',$path.'inc/js.cookie.min.js',数组('jquery'),'1.0.0',true);
wp_enqueue_脚本('plugin js',$path.'js/plugin.min.js',数组('jquery','js cookie'),'1.2.1',true);
我的插件的javascript使用Cookies对象来做各种事情

plugin.js:

(函数($){
$.ajax({
url:“/wp json/plugin name/v1/method”,
数据类型:“json”,
成功:功能(数据){
过程(数据);
},
错误:函数(e){
控制台日志(e);
}
});
功能流程(数据){
if(Cookies.get('cookie-name')){
...
}
}
}(jQuery));

ESLint将只解析它所在的文件,它没有更多的上下文。您可以通过在
if(Cookies.get('cookie-name'){
之后添加
/ESLint禁用行no undef
来忽略规则。您可以将
Cookies
指定为外部定义的“全局”在使用它的文件中。将其添加到
plugin.js
的开头:

/*全局Cookies*/

您也可以在配置文件中声明它,但这不太可能对您有帮助,因为听起来您也在定义
Cookies
(因此不应在定义它的文件中将它声明为预先存在的全局文件)


请参阅有关指定全局文件的说明。

使用
/*全局Cookies*/
非常有效。谢谢!太好了!祝您好运!我无法使用此方法。错误仍然显示在
eslint
输出中。由于我的plugin.js比我多次发布和引用
Cookies
的文件长得多,因此将其声明为全局使用javascript文件顶部的
/*全局Cookies*/
处理所有事件。