npmでインストールしたモジュールのタイプを定義しようとしています。シグネチャを持っている間にタイプにコールシグネチャがない式を呼び出せません
これはexported moduleです。私は元のレポにマージしたいので、私はむしろ、これは私がthis file
declare module "zero-fill"{
export default function zeroFill(width:number, num:number, pad?:string|number):string;
export default function zeroFill(width:number):{(num:number, pad?:string|number):string};
}
のために書いた定義されており、ここでのBC
を導入することなく/**
* Given a number, return a zero-filled string.
* From http://stackoverflow.com/questions/1267283/
* @param {number} width
* @param {number} number
* @return {string}
*/
module.exports = function zeroFill (width, number, pad) {
if (number === undefined) {
return function (number, pad) {
return zeroFill(width, number, pad)
}
}
if (pad === undefined) pad = '0'
width -= number.toString().length
if (width > 0) return new Array(width + (/\./.test(number) ? 2 : 1)).join(pad) + number
return number + ''
}
をこのファイルに変更を加えないと思います使用例:
:import * as zeroFill from "zero-fill";
zeroFill(2,0);
私を混乱させる何がコンパイラが私にこのエラーを与えるの両方ということです
Cannot invoke an expression whose type lacks a call signature. Type 'typeof "zero-fill"' has no compatible call signatures.
同時に、それはタイプスクリプトをコンパイルすると同時にブラウザで動作しています。問題であると想定されるのは?
同じ問題。あなたはそれを修正しましたか? – novaline
はい、ちょうど私自身の質問に答えました – Loupax