J'essaie de faire fonctionner cela, mais je n'arrive pas à trouver de solution n'importe où sur SO. Lorsque vous essayez de compiler cette application à fichier unique:
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/');
En utilisant la commande "tsc app.ts --module 'commonjs'", j'obtiens l'erreur suivante (ne pas utiliser l'indicateur --module me donne une erreur supplémentaire me disant que j'en ai besoin pour compiler des modules externes):
error TS2071: Unable to resolve external module '"http"'.
error TS2072: Module cannot be aliased to a non-module type.
TypeScript doit savoir que http
est présent.
Installez le type definitinos pour le noeud:
npm install @types/node
Suit ces deux étapes
node.d.ts
fichier d'ici: https://github.com/borisyankov/DefinitelyTyped/tree/master/nodeEn haut de votre fichier, ajoutez:
/// <reference path="node.d.ts" />
PS: Voir un exemple de fichier de test: https://github.com/borisyankov/DefinitelyTyped/blob/master/node/node-tests.ts
J'ai constaté que j'avais noResolve
défini sur true
dans mon fichier tsconfig.json. Cela provoquait des erreurs avec les références aux fichiers .d.ts que j'avais inclus en haut de mes fichiers TypeScript.