TypeScriptにおいて、ほかパッケージの型定義だけを利用するにはどうしたら良いですか?
たとえば express の Request を受け取って何かするパッケージを作る場合、
typescript
1export default (req) => { 2 // something 3};
のようになると思いますが、ここに型定義を付ける場合
typescript
1import * as express from 'express'; 2 3export default (req: express.Request) => { 4 // something 5};
になると思います(型定義自体はDefinitelyTypedで取得済み)。
しかし、このパッケージはなんら express を利用しているわけではないので、package.json に express が追加され、それがインストールされ、それが実行時に読み込まれるのは気持ちが悪いです。
型定義だけ利用できないでしょうか?
つまり以下のようなことがしたいです:
typescript
1import * as express from '../typings/express/express.d.ts'; 2 3export default (req: express.Request) => { 4 // something 5};
(実際にはモジュールではないと怒られてしまいます)
TypeScript
1/// <reference path="../typings/express/express.d.ts"/>
のように書くことで読み込めましたが、express.Request という型にアクセスできません。
これはexpress側の型定義の問題かもしれませんが
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/05 11:53