2016-03-30 18 views
5

Vorrei utilizzare il modulo npm nel progetto Typescript ma non ci sono dattilografi o tsd per questo modulo. Quando provo usare import Module from 'module' ho avuto un errore: Cannot find module 'module'. C'è un modo per risolvere il problema?Uso dei moduli npm in Typescript

[EDIT] mio tsconfig.json:

{ 
    "compilerOptions": { 
    "target": "ES5", 
    "moduleResolution": "node", 
    "module": "commonjs", 
    "noEmitOnError": true, 
    "noImplicitAny": true, 
    "experimentalDecorators": true, 
    "sourceMap": true, 
    "sourceRoot": "src", 
    "outDir": "bld" 
    }, 
    "exclude": [ 
    "bld" 
    ] 
} 
+0

è stata risolta in [quest'altra domanda S/O] (http: // stackoverflow.com/questions/38224232/how-to-consume-npm-modules-from-typescript) – Offirmo

risposta

5

presumo tua domanda è correlata alla importando il modulo

import Module from 'module' 

e non esportandolo come avete dichiarato. Se questo è il caso vostro può ricadere semplice javascript e richiedere il modulo come questo:

var Module = require('module'); 

[EDIT]

Verificare che nel tsconfig.json si hanno le seguenti linee in opzioni di compilazione:

"compilerOptions": { 
    "moduleResolution": "node", 
    "module": "commonjs" 
} 

Spero che questo aiuti.

+0

Sì, è una domanda sull'importazione. Per me non funziona entrambe le varianti. Immagino, il problema è che non esiste una definizione di tipo per 'module', e il dattiloscritto non la cerca in' node_modules'. Ma non so come aggiustarlo. –

+0

No, non è necessaria la definizione dei tipi per la seconda versione. Controlla la risposta aggiornata. – Amid

+1

Ho corretto tsconfig.json in base alle modifiche, ma ho riscontrato lo stesso errore: 'Impossibile trovare il modulo 'module''. Controlla aggiornato 'tsconfig.json', per favore –

0

Nel caso in cui si desideri non inquinare le importazioni con richieste, è possibile seguire il seguente metodo.

È possibile creare un file di module.d.ts definizione che contiene i seguenti

declare module Module {} 

vostre importazioni dovrebbero funzionare ora.

Se si desidera importare qualcosa come

import { abc } from 'module'; 

solo andare avanti e aggiungere quanto segue al module.d.ts

declare module Module { 
    export let abc: any 
} 
Problemi correlati