Sto utilizzando il plug-in dispositivo da cordova quindi ho una riga come questa let model = device.model || "";
che causa l'errore Cannot find name 'device'.
. Penso che con ESLint avrei bisogno di fare "eslintConfig": { "globals": { "device": true } }
ma qual è la controparte di TSLint?ESLint come globals in TSLint
risposta
Credo che l'errore Cannot find name 'device'.
sia generato dal compilatore TypeScript, non da TSLint. Per risolvere il problema della mancanza della variabile globale device
è possibile scrivere un file di definizione del tipo. Per convenzione questo file è denominato globals.d.ts
.
In esso, inserire il seguente codice:
declare let device: Device;
interface Device {
func:() => void;
prop: string;
}
Sostituire func
e prop
con le funzioni e le proprietà che ci si aspetta la variabile dispositivo di avere.
È possibile ignorare le variabili globali aggiungendole all'elenco ban
in tslint.json. Questo è lo stesso approccio used in the tslint repo in cui si ignorano le metriche describe
e it
di mocha.
"ban": [true,
["describe", "only"],
["it", "only"]
],
No, è vietare chiamate 'describe.only (...)' e 'test.only (...)'. Con quel json, tslint segnala ogni errore di 'test.only' come un errore. Vedi https://palantir.github.io/tslint/rules/ban/ – bronson
Dove esattamente dovrei inserire questo file 'globals.d.ts'? – Milkncookiez
@Milkncookiez Deve trovarsi in una posizione che viene rilevata dal compilatore TypeScript. Comunemente viene inserito nella cartella radice di origine. –