Node.js 有效地导出非匿名函数(所以 eslint 停止抱怨)

Node.js efficiently export non-anonymous functions (so eslint stops complaining)

将 ESLint 与 Airbnb 风格指南结合使用 我如何在模块中高效地编写导出函数而不被打脸?以下:

exports.istest = function() {
  console.log('Test');
};

抛出 eslint 'unexpected unnamed function' 警告同时:

exports.istest = function istest() {
  console.log('Test');
};

似乎重复得很糟糕。

它是重复的,但事情是这样的:当您说 function foo() {} 时,您是在声明一个名称为 foo 的函数。当您说 var foo = function() {}(或 exports.foo = ...)时,您正在声明一个匿名函数,然后将其作为值分配给 foo 变量。

这是一个细微的差别,但很重要。当您命名该函数时,您的调试器能够在调试窗格中为您正确标记它,但如果您声明一个匿名函数,您只会看到 anonymous function。这在调试时可能会很痛苦,因此通过在容易的时候(当你命名它时)进行一些重复性的努力,你可能会在以后调试时避免头疼。

但是你当然可以在没有函数名称的情况下进行调试,所以如果这不是你关心的问题,你可以简单地禁用规则(在你的 .eslintrc 中或内联注释)。