2016-07-13 17 views
13

utilizzando TS 2.0 Beta Non riesco a far funzionare i nuovi @type. da qualche parte nel mio codice:Typescript 2.0 @types non referenziato automaticamente

import * as angular from 'angular'; 

TS 2.0 @types:

npm install --save @types/angular 
tsc 

il compilatore non trova i file d.tS però: errore: (1, 26) TS2307: Impossibile trovare il modulo 'angolare'.

nessun problema con il metodo corrente (vecchio) di utilizzare lo strumento di battitura e le dipendenze globali (prima dell'ambiente).

mi aspettavo la ricerca d.tS per funzionare automaticamente con 2.0 come descritto qui:

https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

forse mi manca qualcosa?

+0

In esecuzione nello stesso problema, chiedendosi se questo non è riuscito nella versione beta 2.0? Non l'ho visto menzionato nella wiki o nel loro articolo del blog. :/ –

+0

Quale editor stai usando? Ad esempio, in vscode questo è ancora un bug. Apparentemente tsc dovrebbe funzionare bene, è solo il tuo editore che si lamenta. –

+0

Sto usando la riga di comando e il comando locale tsc per escludere eventuali problemi relativi a IDEA – dmudro

risposta

0

Stavo avendo lo stesso problema, dove sarebbe stato creato con successo via cli, tsc app.ts, ma gulp build avrebbe avuto esito negativo. Nel mio caso, dovevo assicurarmi che i moduli di Gulp usassero l'ultima versione dattiloscritta per la compilazione, non la versione in bundle con il modulo, cioè per tsify, passando in riferimento al compilatore più recente: .plugin(tsify, {typescript: require('typescript')}).

Non sicuro se questo si applica alla situazione.

+0

infatti il ​​problema sembra essere in tsc Non sono usando qualcosa su di esso – dmudro

13

Avevo lo stesso problema con un altro file: tsc non ha trovato node_modules/@ types/es6-shim. Esplicitamente l'aggiunta di tipi di tsconfig.json aiutato:

{ 
    "compilerOptions": { 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "module": "commonjs", 
    "noEmit": true, 
    "types":["es6-shim"], 
    "sourceMap": true, 
    "target": "es5" 
    } 
} 
+0

'" types ": [" es6-shim "],' non risolve il problema per me, lo stesso vale per '" typeRoots ": [" node_modules/@ types/"],' . Si lamenta ancora di non aver trovato globals e altri tipi di cui faccio spesso riferimento – lucassp

1

quello che sto vedendo in Visual Studio codice è che è ancora necessario un riferimento tripla-slash. L'opzione del tipo di compilatore in tsconfig.json risolverà gli errori di compilazione, ma VS Code non rileva questo errore e mostrerà errori quando si apre il file nell'editor.

Ecco un esempio di un riferimento a tre-slash per il nodo:

/// <reference path="../node_modules/@types/node/index.d.ts" /> 

Il riferimento a tripla barra può essere in un file separato, e si applicherà a tutti i livelli ad altri file nel progetto, ma deve essere nella stessa cartella del file tsconfig.json.