Node.js 使用TypeScript指定函数参数的类型
我正在尝试在节点应用程序中指定函数参数类型。这就是我想到的:Node.js 使用TypeScript指定函数参数的类型,node.js,typescript,Node.js,Typescript,我正在尝试在节点应用程序中指定函数参数类型。这就是我想到的: import express = require("express"); module.exports = (app) => { app.get('/', (req: express.Request, res: express.Response) => { // <- this fails to compile // do work }); } TS定义来自定义类型。“快递”的定义
import express = require("express");
module.exports = (app) => {
app.get('/', (req: express.Request, res: express.Response) => { // <- this fails to compile
// do work
});
}
TS定义来自定义类型。“快递”的定义如下:
declare module "express" {
在一个.d.ts文件中
显然我做错了。。有什么提示吗
编辑:
要进一步阐述巴萨拉特的答案:
在csproj文件中找到TypeScriptModuleKind条目,并将其设置为COMMONJS
ts最终看起来像这样:
import express = require("express");
module.exports = (app: express.Application) => {
app.get("/", (req, res) => {
res.send({ name: "woohooo" });
});
}
生成的javascript如下所示:
define(["require", "exports"], function(require, exports) {
module.exports = function (app) {
//......
};
});
因为您是使用--module amd
编译的。对于节点,您应该使用--module commonjs
参见:
PS:您需要参考TypeScript的express类型定义以了解express用法:定义:
define(["require", "exports"], function(require, exports) {
module.exports = function (app) {
//......
};
});