14

Buduję rozszerzenie chrome napisane w TypeScript. Używam WebStorm i dodałem bibliotekę chrome-DefiniteltyTyped do mojego projektu.Używanie rozszerzenia chrome apis w pismach maszynowych

Jednak, gdy piszę to w moim kodzie maszynopisu: chrome.extension.getURL Wystąpił błąd: cannot find name 'chrome'.

Z tego powodu mój plik javascript nie jest generowany i nie mogę go używać w moim rozszerzeniu.

Czy macie jakieś rozwiązanie?

Odpowiedz

17

Od maszynopisu 2 (lub 2.x, nie jestem pewien), należy importuj typy chrome z @types.

w package.json:

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

I tsconfig:

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

Czy możesz wyjaśnić, dlaczego jest to "niezależność", a nie regularna? – Soflete

+0

Myślę, że jeśli zamierzasz pisać maszynopis bezpośrednio na platformie docelowej (przeglądarka/węzeł/etc), powinieneś przenieść zależność typów do produkcji. W przeciwnym razie (co moim zdaniem jest częstym przypadkiem), wynikiem jest js. Korzystanie z tego ostatniego nie wymaga definicji typów, są one potrzebne tylko do sprawdzania typu podczas transpozycji ts. – dfl

+0

Jak to działa? musimy wpisać "import {Chrome} z" @ types/chrome ";"? – Gerard

Powiązane problemy