14

Sto costruendo un'estensione di cromo scritta in TypeScript. Sto usando WebStorm e ho aggiunto la libreria chrome-DefiniteltyTyped nel mio progetto.Utilizzo dell'apis di estensione chrome in dattiloscritto

Tuttavia, quando scrivo questo nel mio codice dattiloscritto: chrome.extension.getURL Ho ricevuto un errore: cannot find name 'chrome'.

A causa di questo, il mio file javascript non viene generato e non posso usarlo nella mia estensione.

Ragazzi, avete qualche soluzione?

risposta

17

partire dal dattiloscritto 2 (o 2.x, non è sicuro), si dovrebbe importa i tipi di Chrome da @types.

in package.json:

"devDependencies": { 
    ... 
    "@types/chrome": "0.0.35", // or just npm install --save-dev @types/chrome 

E in TSconfig:

"types": [ 
     //(various types, e.g. jquery, core-js), 
     "chrome" 
    ] 
+0

Puoi spiegare perché è un 'devDependency' e non regolare? – Soflete

+0

Penso che se si intende eseguire dattiloscritto direttamente nella piattaforma di destinazione (browser/nodo/ecc.), È necessario spostare la dipendenza dei tipi in produzione. Altrimenti (che penso sia il caso comune), il deliverable è il js risultante. L'utilizzo di quest'ultimo non richiede le definizioni del tipo, sono necessarie solo per il controllo del tipo durante la transversione di ts. – dfl

+0

Come funziona? dobbiamo digitare "import {Chrome} da" @ types/chrome ";"? – Gerard

Problemi correlati