ESLint как глобальные переменные в TSLint

Я использую плагин устройства от Cordova, поэтому у меня есть такая строка let model = device.model || "";, которая вызывает ошибку Cannot find name 'device'.. Я думаю, что с ESLint мне нужно будет сделать "eslintConfig": { "globals": { "device": true } } , но что такое аналог TSLint?


person apreg    schedule 26.06.2016    source источник


Ответы (1)


Я считаю, что ошибка Cannot find name 'device'. генерируется компилятором TypeScript, а не TSLint. Чтобы решить проблему отсутствия глобальной переменной device, вы можете написать файл определения типа. По соглашению этот файл называется globals.d.ts.

В него поместите следующий код:

declare let device: Device;

interface Device {
  func: () => void;
  prop: string;
}

Замените func и prop функциями и свойствами, которые вы ожидаете от переменной устройства.

person David Walschots    schedule 11.02.2017
comment
Куда именно я должен поместить этот globals.d.ts файл? - person Milkncookiez; 21.12.2017
comment
@Milkncookiez Он должен находиться в месте, которое определяется компилятором TypeScript. Обычно он помещается в корневую исходную папку. - person David Walschots; 22.12.2017