2017-02-17 6 views
1

код у меня выглядит следующим образом:ES Lint ошибка для JQuery анонимной функции

$('.panel').each(function() { 
    $(this).css('height', 'auto'); 
    $(this).find('.portlet-panel-item').css('height', 'auto'); 
}); 

Я получаю следующее сообщение об ошибке: 37:26 warning Missing function expression name func-names.

Я не могу использовать функции стрелок ES6 из-за способа, которым this обрабатывается в двух вариантах использования.

Как я могу исправить эту проблему без необходимости называть именованные функции для каждого?

+0

Вы можете «т. Вы можете просто отключить эту проверку на этой строке. '// eslint-disable-next-line func-name', прежде чем он будет делать трюк. Это linter, не означает, что ваш код не будет работать или вызовет ошибки, просто, если вы согласитесь с этим правилом, это плохая практика. –

+1

Возможно, вам следует [прочитать, что означает правило в первую очередь] (http://eslint.org/docs/rules/func-names), а затем использовать свое мнение относительно того, имеет ли значение правило в этом случае. –

ответ

1

Вы должны либо использовать именованную функцию, либо отключить правило.

От AirBnB JavaScript style guide:

Don’t forget to name the expression - anonymous functions can make it harder to locate the problem in an Error's call stack.

Вы можете set this rule проверить "всегда", "как не нужно", или "никогда", используя комментарий, так что в вашем случае: /*eslint func-names: ["error", "never"]*/

Смежные вопросы