Импорт узлов-модhive с помощью TypeScript
Я пытаюсь заставить это работать, но я не могу найти решение в любом месте на SO. При попытке скомпилировать однопользовательское приложение:
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/');
Используя команду «tsc app.ts -module« commonjs », я получаю следующую ошибку (не используя флаг -module, я дал дополнительную ошибку, сообщающую, что мне нужно ее для компиляции внешних модhive):
error TS2071: Unable to resolve external module '"http"'. error TS2072: Module cannot be aliased to a non-module type.
- Как сделать объект JSON classом типов
- Как использовать jQuery с TypeScript
- Как использовать внешнюю библиотеку без машинописного текста из машинописного текста без .d.ts?
- TypeScript any vs Object
- Создайте перечисление со строковыми значениями в TypeScript
- Как использовать модули npm из машинописного текста?
- Инициализаторы типа TypeScript и поля
- получить и установить в TypeScript
- Как предотвратить ошибку? Подпись индекса типа объекта неявно имеет тип «any» при компиляции машинописных файлов с флагом noImplicitAny?
- angular2 resolveAndCreate HTTP - отсутствует HTTP_PROVIDERS в RC7
- Получить имя classа объекта во время выполнения в TypeScript
- Как получить имена записей enums TypeScript?
- Как программно перечислять тип enums в TypeScript 0.9.5?
TypeScript должен знать, что http
присутствует.
обновленный
Установите тип definitinos для узла:
npm install @types/node
Старый ответ
Выполняет эти два шага
- Загрузите файл
node.d.ts
здесь: https://github.com/borisyankov/DefinitelyTyped/tree/master/node -
В верхней части файла добавьте:
///
PS: см. Образец тестового файла: https://github.com/borisyankov/DefinitelyTyped/blob/master/node/node-tests.ts
Я обнаружил, что noResolve
установлен в true
в моем файле tsconfig.json. Это вызывало ошибки со ссылками на файлы .d.ts, которые я включил в начало моих файлов TypeScript.
Не должно быть что-то вроде
/// import http = module('http')
Я имею в виду, не следует ли использовать module
вместо require
?