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

Что является лучшим способом обработки литинга, когда несколько файлов будут скомпилированы в один файл с общими переменными / функциями. Например:

file_1.js:

{
const my_flag = 1;
}

file_2.js:

{
  if (my_flag) {
  // etc.

Когда два файла скомпилированы и объединены, проблем нет. Но file_1.js выдает ошибку linting, связанную с неиспользуемой переменной, а file_2.js выдает ошибку linting, связанную с неопределенной переменной.

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

2 ответа

Решение

.eslintrc Конфигурационный файл позволяет именовать глобалы, которые решили проблему:

"globals": {
  "my_global": true,
  "another_global": true,
  "third_global": true
}

http://eslint.org/docs/user-guide/configuring

С eslint Вы можете сказать сценарию, что переменная является глобальной:

/* global my_flag */

Поместите эту строку перед my_flag используется во втором файле (обычно это первая строка файла). Это поможет избежать ошибки undefined переменная my_flag

Другие вопросы по тегам