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