2015-11-24 2 views
1

Я пишу небольшое приложение TypeScript для NodeJS, и я не уверен, что я делаю это правильно.Импорт http в TypeScript

Вот пример

/// <reference path="./typings/node/node.d.ts"/> 
'use strict'; 

// Import http from Node 
// ES6 way of writing it: import * as http from "http"; 
import http = require('http'); 

http 
.createServer((req, res) => { 
    res.writeHead(200, {"Content-Type": "text/html"}); 
    res.end("<h1>Hello NodeJS</h1>") 
}) 
.listen(3000,() => console.log("Server running on port 3000")); 

В ES5 я хотел бы получить HTTP в приложение, написав const http = require('http');, однако таким образом Visual Studio код не дает мне код завершения. Когда я пишу версию ES6 import * as http from "http", я получаю завершение кода в VS Code, но Node не запускается.

Итак, я закончил с import http = require('http');, однако я не уверен, что это приемлемый способ.

Есть ли способ использовать ES6-версию?

ответ

0

однако таким образом Visual Studio код не дает мне код завершения

import являются Const в любом случае, так что вам не нужно const

Когда я пишу о версии импорта ES6 * как http от «http», я получаю завершение кода в VS Code, но Node не запускается.

Вам необходимо скомпилировать с помощью --target es5, чтобы он переместился до модулей, которые понимает узел.

Решение

Просто используйте import, он ведет себя как const с точки зрения машинописи в любом случае.

Смежные вопросы