gpt4 book ai didi

typescript - 导出 typescript 函数 "lacks a call signature"

转载 作者:搜寻专家 更新时间:2023-10-30 21:04:54 26 4
gpt4 key购买 nike

我在“main.ts”中有一个 typescript 外部模块,它只导出一个函数,这样写:

// ...
import O = require('./Options');

"use strict";

function listenRestRoutes(expressApp: any, options?: O.IOptions) {
// ...
}
module.exports = listenRestRoutes;

这个编译得很好。我还有另一个文件,其中导入了这个模块:

// ...
import express = require('express');
import mipod = require('./main');
import O = require('./Options');
// ...
var app = express();
var opts: O.IOptions = O.Options.default();
// ...
mipod(app, opts);

最后一行没有编译,显示error TS2088: Cannot invoke an expression which type lacks a call signature。 mipod(app, opts);

我不明白为什么会出现此错误。尽管出现此错误,javascript 已正确生成并运行良好。那么,这是编译器错误,还是我的代码中存在错误?

PS:我还尝试在第二个文件之上添加引用:

/// <reference path="./main.ts" />

但这并没有改变任何东西。

最佳答案

TypeScript 不会解析 module.exports 分配以获取类型信息。而不是这一行:

module.exports = listenRestRoutes;

使用这个

export = listenRestRoute;

关于typescript - 导出 typescript 函数 "lacks a call signature",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26556078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com