ESLint определяет функции, которые доступны для всех страниц без получения no-undef - PullRequest
0 голосов
/ 28 мая 2020

Я использую ESLint для файлов javascript интерфейса. У меня есть файл JS, который находится на каждой странице HTML с именем functions.js, и в этом файле есть много вспомогательных функций. Я поместил это поверх этого файла, чтобы сообщить ESLint, что эти функции используются где-то еще, чтобы избежать ошибки no-unused-vars.

/* exported capitalize function2 function3 */

Это мой .eslintrc.json файл

{
  "parserOptions": {
    "ecmaVersion": 2018,
    "sourceType": "script"
  },
  "env": {
    "browser": true,
    "jquery": true,
    "serviceworker": true
  },
  "globals": {
    "Swal": true
  }
}

Когда я использую эти функции в любом другом файле JS, я получаю эту ошибку.

'capitalize' is not defined. eslint(no-undef)

Из того, что я видел, одно из решений этого - включить комментарий к вверху моих файлов JS, указывающих, какие функции / переменные я использую извне, например:

/* global initTabState */

Это работает, но я хочу спросить, есть ли способ указать эти функции для всех файлов, в некоторых файлах я использую многие из этих функций.

Я также пробовал использовать опцию globals в файле .eslintrc.json, но затем в моем functions.js файле я получаю ошибку no-redeclare, потому что я повторно объявляю глобальную переменную.

...