LoginSignup
44

More than 5 years have passed since last update.

TypeScriptでNode.jsのモジュールをrequireする

Posted at

TypeScriptで、Node.jsのモジュールをrequireしようとして次のようなコードを書くと”error TS2095: Could not find symbol 'require'.”とか言われてエラーになる。

hoge.ts
var http = require('http');

ネットで検索しても、なかなか思う回答に辿り着けない。
で、試行錯誤して辿り着いた答が以下。

hoge.ts
declare function require(x: string): any;

var http = require('http');

declareで使いたい関数を宣言してやれば良かったようです。

ついでに、TypeScript + Node.js で動く簡単なWebサーバーを書いてみた。
TypeScriptらしさがかけらもないけど、まあしょうがない。

server.ts
declare function require(x: string): any;

var http = require('http');
var server = http.createServer(function(request, response){
    response.statusCode = 200;
    response.setHeader('Content-type', 'text/plain');
    response.write('Hello, TypeScript!');
    response.end();
});

server.listen(8080);
console.log('Server start.');

使い方は、コンパイルしてから、nodeで実行。

$ tsc server.ts
$ node server.js

これで、ブラウザから、 http://localhost:8080/ にアクセスすれば”Hello, TypeScript!”と表示されるはず。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44