nodejs requieren fichero de transcripción en el interior

votos
60

Me pregunto cómo cargar el módulo nodejs regularmente del node_modulesdirectorio desde el interior de TypeScriptla clase.

Cuando intento compilar .tsarchivo que contiene:

var sampleModule = require('modulename');

compilador me dice que no puede utilizar requerir en este ámbito. (Esa línea se encuentra al principio del archivo).

¿Hay una manera de cómo cargar y módulos de uso del node_modulesinterior de TypeScriptla clase?

Publicado el 05/10/2012 a las 09:05
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
77

Mecanografiado siempre se quejan cuando no puede encontrar un símbolo. El compilador viene junto con un conjunto de definiciones predeterminadas para window, documenty como se especifica en un archivo llamado lib.d.ts. Si hago un grep requireen este archivo no puedo encontrar ninguna definición de una función require. Por lo tanto, tenemos que decirle al compilador que esta función nos va a existir en tiempo de ejecución utilizando la declaresintaxis:

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

En mi sistema, esto compila bien.

Respondida el 05/10/2012 a las 09:26
fuente por usuario

votos
30

La sintaxis correcta es:

import sampleModule = require('modulename');

o

import * as sampleModule from 'modulename';

A continuación, compilar el texto mecanografiado con --module commonjs.

Si el paquete no viene con un index.d.tsarchivo y es package.jsonno tener una "typings"propiedad, tscse ladrar que no sabe lo que 'modulename'se refiere a. Para este propósito es necesario encontrar un .d.tsarchivo para que el http://definitelytyped.org/ , o uno personalizado.

Si está escribiendo código para Node.js también va a querer el node.d.tsarchivo desde http://definitelytyped.org/ .

Respondida el 03/02/2016 a las 04:47
fuente por usuario

votos
16

La mejor solución es conseguir una copia de las definiciones de tipo de nodo. Esto va a resolver todo tipo de problemas de dependencia, no sólo require(). Esto se hizo con anterioridad el uso de paquetes como typings, pero como se mencionó Mike Chamberlain, tipificaciones están en desuso. La forma moderna está haciendo de esta manera:

npm install --save-dev @types/node

No sólo va a solucionar el error del compilador, sino que también se sumará a las definiciones de la API de nodo para su IDE.

Respondida el 18/10/2017 a las 18:20
fuente por usuario

votos
4

Tipificaciones utilizar para acceder a funciones de nodo de texto mecanografiado:

typings install env~node --global

Si usted no tiene tipificaciones instalarlo:

npm install typings --global
Respondida el 29/12/2016 a las 06:42
fuente por usuario

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