问题描述
我正在加载几个外部 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();
但返回以下错误:
任何想法我如何解决这个问题?我假设 main.js
中的调用正在同一个地方寻找引用,但显然它们在一个外部文件中。通常我只会在一切正常时打开提示,但如果可能的话我想解决......我想以前我可能通过包装一个函数来解决这个问题,但这次没有用(因为我是不使用jQUEry?)
解决方法
您可以指定这些是全局变量,以便 ESLint 不会警告它们未定义。最简单的方法是将以下注释添加到 main.js
文件的顶部。
/* global Rellax:readonly,AOS:readonly */
或者,您可以像这样在 .eslintrc
文件中指定全局变量:
{
"globals": {
"Rellax": "readonly","AOS": "readonly"
}
}
查看ESLint docs了解更多详情。