2016-12-22 17 views
0

TypeScriptとノードjsでd.ts定義なしのnpmパッケージを使用する方法はありますか?そしてもしそうなら、私はそれをどのように達成できますか?TypeScriptでd.ts定義なしのnpmパッケージを使用する方法はありますか

現在、私はこのような何かを持っており、それがエラーをスローし、「モジュール 『ノード休止-client』を見つけることができない」を教えている、と.d.tsが存在しないファイルからです。

import * as NodeRest from 'node-rest-client'; 

export class MyClass { 
} 

EDITは 私はこのような解決:

/// <amd-dependency path="node-rest-client" /> 
let NodeClient = require('node-rest-client'); 
export class MyClass { } 

それは、このソリューションは良いことだ、またはより良い道具はダンの応答ですか?

+1

エラーを投げていますか? TypeScriptコンパイラ?とにかく、使用しているモジュールの部分のための独自の定義ファイルを定義することができます。 –

+0

このエラーは、VS Code IDEによって投げられています。私は新しいd.tsファイルを作りたくありません...それは多くの仕事であり、価値がありません –

+1

これは私が言うには、タイプスクリプトへようこそ –

答えて

1

少なくとも基本的な形式で型を追加することを再考します。

あなたはtypescriptです

を使用する主な理由は見つからないことがありますが、が、時には便利ではないか、現在のタスクに焦点を当て滞在したいです。 "ノード" またはバンドラ(WebPACKの、...など)を使用して

にあなたが常に

greeter.js

module.exports = { 
    greet:() => "hello" 
} 
を "必要" に頼ることができ、その場合の

greeter.test.ts

import * as assert from "assert"; 
interface IGreeter { 
    greet(): string; 
} 
const greeter: IGreeter = require("./greeter"); 
describe("amodule",() => { 
    it("works",() => { 
     assert.equal(greeter.greet(), "hello"); 
    }); 
}); 

または単に(noImplicitAny:偽)

require("./greeter").greet() 

か(noImplicitAny:真)

(require("greeter") as any).greet() 
関連する問題