[英]Is there a way to use a npm package without d.ts definition on TypeScript
有沒有辦法在TypeScript和Node js上使用不帶d.ts定義的npm包? 如果是的話,我該如何實現?
當前,我有類似的東西,它拋出一個錯誤,告訴我“找不到模塊'node-rest-client'”,這是因為.d.ts文件不存在。
import * as NodeRest from 'node-rest-client';
export class MyClass {
}
編輯我這樣解決:
/// <amd-dependency path="node-rest-client" />
let NodeClient = require('node-rest-client');
export class MyClass { }
這個解決方案很好,還是更好地實現了Dan的回應?
我會考慮至少在基本形式上添加類型。
您將錯過使用打字稿的主要原因
但是,有時不方便,或者您想集中精力處理當前任務。
在這種情況下,當在“節點”中或使用捆綁器(webpack等)時
您可以隨時求助於“ require”
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:true)
(require("greeter") as any).greet()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.