У меня есть несколько функций, которые определены в одном файле js и используются в других. У каждого из них есть комментарии /* exported functionName */
, и у меня есть enlint env для браузера/jquery. Основываясь на моем чтении documentation, это все, что мне нужно, но оно, похоже, не работает.eslint/* exported functionName */не работает в браузере env
Что я здесь делаю неправильно?
Вот .eslintrc (она расширяет this one, хотя я получаю такое же поведение без extends
):
{
"extends": "../../.eslintrc",
"env": {
"browser": true,
"jquery": true
}
}
И вот одна из функций (вот second и third):
/**
* Returns the next hour as Date
* @return {Date} the next hour
*/
/* exported nextHour */
function nextHour() {
var oneHour = new Date();
oneHour.setHours(oneHour.getHours() + 1);
return oneHour;
}
Наконец, это выход, я получаю от eslint:
/Users/nfriedly/visual-recognition-nodejs/public/js/demo.js
24:10 error 'nextHour' is defined but never used no-unused-vars
37:10 error 'resize' is defined but never used no-unused-vars
/Users/nfriedly/visual-recognition-nodejs/public/js/use.js
26:10 error 'setupUse' is defined but never used no-unused-vars
Он работает, если я заменил комментарий /* exported...
// eslint-disable-next-line no-unused-vars
, но я знаю, что это неправильное решение.
Вы можете проверить весь проект от https://github.com/watson-developer-cloud/visual-recognition-nodejs/tree/eslint-exported, а затем просто запустить npm install; npm test
, если хотите его увидеть.
Это не конфигурация, которая применяется. (Я удалил родительский .eslintrc из вопроса, чтобы сделать его более понятным, какой из них действительно применяется к этому js) - тот, который находится в той же папке, что и failing js, устанавливает env в браузер и jQuery. –
, если ваша родительская конфигурация задает среду узла, что означает, что она также относится к текущему файлу (конфигурации сильно объединены, поэтому, если родительская конфигурация задает среду Node, она также применима ко всем дочерним конфигам). Пока среда Node включена, 'exported' не будет работать. Вы можете запустить ESLint с флагом '--print-config', чтобы точно определить, какая конфигурация используется для данного файла. –
Значит, вы говорите, что не существует другой конфигурации для разных js-файлов? –