Я использую плагин для устройства от cordova, поэтому у меня есть строка типа let model = device.model || "";
, которая вызывает ошибку Cannot find name 'device'.
. Я думаю, что с ESLint мне нужно будет сделать
"eslintConfig": {
"globals": {
"device": true
}
}
но что такое эквивалент TSLint?
ESLint как глобальные переменные в TSLint
Ответ 1
Я считаю, что ошибка Cannot find name 'device'.
генерируется компилятором TypeScript, а не TSLint. Чтобы решить проблему отсутствия глобальной переменной device
, вы можете написать файл определения типа. По соглашению этот файл называется globals.d.ts
.
Вставьте следующий код:
declare let device: Device;
interface Device {
func: () => void;
prop: string;
}
Замените func
и prop
на функции и свойства, которые вы ожидаете от переменной устройства.
Ответ 2
Вы можете игнорировать глобальные переменные, добавляя их в список ban
в tslint.json. Это тот же подход используемый в tslint repo, где они игнорируют глобальные переменные mocha describe
и it
.
"ban": [true,
["describe", "only"],
["it", "only"]
],