nodejs richiedono file typescript all'interno

voti
60

Mi chiedo come caricare modulo nodejs regolare da node_modulesdirectory dall'interno TypeScriptdi classe.

Quando provo a compilare .tsfile che contiene:

var sampleModule = require('modulename');

compilatore mi dice che non posso usare prescrivere in questo ambito. (Quella linea si trova all'inizio del file).

C'è un modo per caricare e moduli di uso da node_modulesdentro TypeScriptclasse?

È pubblicato 05/10/2012 alle 09:05
fonte dall'utente
In altre lingue...                            


4 risposte

voti
77

Carattere tipografico sarà sempre lamentano quando si è in grado di trovare un simbolo. Il compilatore viene insieme con una serie di definizioni di default per window, documente tale specificato in un file chiamato lib.d.ts. Se faccio un grep per requirein questo file riesco a trovare alcuna definizione di una funzione require. Quindi, dobbiamo dire al compilatore a noi stessi che questa funzione sarà presente in fase di esecuzione utilizzando la declaresintassi:

declare function require(name:string);
var sampleModule = require('modulename');

Sul mio sistema, questo compila bene.

Risposto il 05/10/2012 a 09:26
fonte dall'utente

voti
30

La sintassi corretta è:

import sampleModule = require('modulename');

o

import * as sampleModule from 'modulename';

Poi compilare il dattiloscritto con --module commonjs.

Se il pacchetto non viene fornito con un index.d.tsfile di ed è package.jsonnon avere una "typings"proprietà, tscsarà abbaiare che non sa che cosa 'modulename'si riferisce. A tale scopo è necessario trovare un .d.tsfile di per esso sul http://definitelytyped.org/ , o scrivere uno voi stessi.

Se si sta scrivendo codice per Node.js si vuole anche il node.d.tsfile da http://definitelytyped.org/ .

Risposto il 03/02/2016 a 07:47
fonte dall'utente

voti
16

La soluzione migliore è quella di ottenere una copia di definizioni del tipo di nodo. Questo risolverà tutti i tipi di problemi di dipendenza, non solo require(). Ciò è stato già fatto utilizzando pacchetti come typings, ma come detto Mike Chamberlain, Tipizzazioni sono deprecati. Il modo moderno sta facendo in questo modo:

npm install --save-dev @types/node

Non solo si è correggere l'errore del compilatore, sarà anche aggiungere le definizioni delle API Node al vostro IDE.

Risposto il 18/10/2017 a 21:20
fonte dall'utente

voti
4

Utilizzare tipizzazioni per accedere alle funzioni di nodo da tipografico:

typings install env~node --global

Se non si dispone di tipizzazioni installarlo:

npm install typings --global
Risposto il 29/12/2016 a 09:42
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more