2017-05-11 190 views
0

我使用了一個節點模塊,它沒有通過類型找到並且不存在於definelytyped中。函數模塊(TypeScript)的聲明文件

基本使用該模塊是:

import * as someFunc from 'some-module'; 

someFunc("some string"); 

正如你所看到的,這個模塊導出的函數作爲其默認。我還沒有想出如何爲它編寫聲明文件。

這是我能夠做到的最好的:

declare module 'some-module' { 
    export default function someFunc(someArg: string): void; 
} 

BTW它的工作JavaScriptly。只有TypeScript困擾我。

任何想法如何解決?

回答

2

聲明:

declare module 'some-module' { 
    var exportFunction : (arg: string) => void; 
    export = exportFunction; 
} 

用法:

import * as someFunc from "some-module"; 
someFunc(a)'; 

是如何可以做到這一點。

+0

左圓括號(在var exportFunction =(arg:string)=> void;)中標記爲紅色,表示:TS7011:函數表達式缺少返回類型註釋,隱式地具有「any」返回類型。 – Alon

+0

已修復。應該是類型的聲明而不是分配,更改=: – Martijn

相關問題