Sto cercando di farlo funzionare, ma non riesco a trovare una soluzione da nessuna parte su SO. Durante il tentativo di compilare questa app a file singolo:
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 il comando “tsc app.ts –module” commonjs “” Ricevo il seguente errore (non usare il flag –module mi dà un errore aggiuntivo che mi dice che ho bisogno di compilare moduli esterni):
error TS2071: Unable to resolve external module '"http"'. error TS2072: Module cannot be aliased to a non-module type.
TypeScript deve sapere che http
è presente.
Installa il tipo definisci per nodo:
npm install @types/node
Segue questi due passaggi
node.d.ts
da qui: https://github.com/borisyankov/DefinitelyTyped/tree/master/node Nella parte superiore del tuo file aggiungi:
///
PS: consulta un file di prova di esempio: https://github.com/borisyankov/DefinitelyTyped/blob/master/node/node-tests.ts
Ho scoperto che non avevo impostato su true
nel file tsconfig.json. Ciò causava errori con i riferimenti ai file .d.ts che avevo incluso nella parte superiore dei miei file TypeScript.
Non dovrebbe essere qualcosa di simile
/// import http = module('http')
Voglio dire, non dovresti usare il module
invece di require
?