node.js - saber - Importación de módulos de nodo con TypeScript
metodo de nodos ejemplos (3)
¿No debería ser algo así como
/// <reference path="node.d.ts" />
import http = module(''http'')
Quiero decir, ¿no deberías usar el module
lugar de require
?
Estoy tratando de hacer que esto funcione, pero parece que no puedo encontrar una solución en ningún lado en SO. Al intentar compilar esta aplicación de archivo único:
import http = require(''http'')
http.createServer(function (req, res) {
res.writeHead(200, {''Content-Type'': ''text/plain''});
res.end(''Hello World/n'');
}).listen(1337, ''127.0.0.1'');
console.log(''Server running at http://127.0.0.1:1337/'');
Usando el comando "tsc app.ts --module ''commonjs''" Obtengo el siguiente error (no usar el indicador --module me da un error adicional diciéndome que lo necesito para compilar módulos externos):
error TS2071: Unable to resolve external module ''"http"''.
error TS2072: Module cannot be aliased to a non-module type.
Descubrí que tenía noResolve
establecido en true
en mi archivo tsconfig.json. Esto estaba causando errores con las referencias a los archivos .d.ts que había incluido en la parte superior de mis archivos de TypeScript.
TypeScript necesita saber que http
está presente.
Actualizado
Instale el tipo definitinos para nodo:
npm install @types/node
Respuesta anterior
Sigue estos dos pasos
- Descargue el archivo
node.d.ts
desde aquí: https://github.com/borisyankov/DefinitelyTyped/tree/master/node En la parte superior de tu archivo agrega:
/// <reference path="node.d.ts" />
PD: Vea un archivo de prueba de ejemplo: https://github.com/borisyankov/DefinitelyTyped/blob/master/node/node-tests.ts