ESLint 未定义/已分配值但未使用

ESLint not defined / is assigned a value but not used

我正在加载几个外部 JS 文件并在 CodeKit/LSLint(和 JSHint)中不断出现错误 - 即使在浏览器中查看时这两个脚本似乎都按预期工作

我所有的 JS 文件都加载到页面底部的结束 </body> 标记下方,如下所示:

<script src="js/vendor/modernizr-3.11.2.min.js"></script>
<script src="js/vendor/rellax.min.js"></script>
<script src="js/vendor/aos.js"></script>
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>

我加载外部脚本的 main.js 文件当前如下所示:

/* RELLAX */
var rellax = new Rellax('.rellax');
/* AOS */
AOS.init();

但是returns出现以下错误:

有什么解决办法吗?我假设 main.js 中的调用正在同一位置查找引用,但显然它们在外部文件中。通常我只是在一切正常时打开提示,但如果可能的话我想解决......我想以前我可能通过包装一个函数来解决这个问题但是这次没有用(因为我不使用 jQUery?)

您可以指定这些是全局变量,这样 ESLint 就不会警告它们未定义。最简单的方法是将以下注释添加到 main.js 文件的顶部。

/* global Rellax:readonly, AOS:readonly */

或者,您可以像这样在 .eslintrc 文件中指定全局变量:

{
  "globals": {
    "Rellax": "readonly",
    "AOS": "readonly"
  }
}

查看 ESLint docs 了解更多详情。