当JavaScript依赖于以前加载的脚本中的对象时,如何使用`eslint`我的JavaScript?
我想在我的WordPress插件中添加eslint。但我一直收到一条关于未定义名称的错误消息。在运行时,名称由浏览器中先前加载的脚本定义。如何让eslinteslint识别出这个特定的名称是正确的 来自eslint的错误::当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
/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*/
处理所有事件。