vue router beforeEach 函数中的参数 ' to ' 和 ' from ' 未被调用,ESlint 给我警告 ' 'to' 已定义但从未使用 '

The arguments ' to ' and ' from ' in vue router beforeEach function is not invoked, ESlint give me the warning ' 'to' is defined but never used '

我在使用 Vue Router beforeEach 函数时遇到问题。

router.beforeEach((to, from, next) => {
  NPgrogress.start();
  next();
});

我只需要 beforeEach 中的第三个参数,但是 ESlint 给我错误

  145:19  error  'to' is defined but never used    no-unused-vars
  145:23  error  'from' is defined but never used  no-unused-vars

我不想关闭 ESlint 规则 'no-unused-vars' 到 'off' 或 'eslint-disable-next-line'。

我们还有其他解决方案吗?谢谢!

可能最简单、最直观的方法是将 no-unused-vars 的规则设置为对 args 使用 after-used。这是默认设置,因此您可能确实在某处覆盖了它。使用 after-used 将禁用对最后使用的参数之前出现的函数的任何参数的检查。有了这个,下面的代码就不会引起任何问题:

router.beforeEach((to, from, next) => {
  NPgrogress.start();
  next();
});

但下面的代码会(因为 two 被定义,但从未使用过,你可以从参数列表中省略它。

function a(one, two) {
  console.log(one);
}

Documentation 在 eslint.org