노드 응용 프로그램에서 함수 매개 변수 유형을 지정하려고합니다. 이것은 내가 생각 해낸 것입니다 :TypeScript로 함수 매개 변수 유형 지정
import express = require("express");
module.exports = (app) => {
app.get('/', (req: express.Request, res: express.Response) => { // <- this fails to compile
// do work
});
}
하고 이것이 분명히하지 꽤 괜찮 인 JS 생성
define(["require", "exports"], function(require, exports) {
module.exports = function (app) {
//......
};
});
TS 정의가 DefinitelyTyped에서오고있다. "표현식"은 .dts 파일에서
declare module "express" {
으로 정의됩니다.
분명히 내가 잘못하고있다 .. 어떤 힌트?
EDIT : basarat의 대답을 확장하려면 csproj 파일에서 TypeScriptModuleKind 항목을 찾아서 COMMONJS로 설정하십시오.
import express = require("express");
module.exports = (app: express.Application) => {
app.get("/", (req, res) => {
res.send({ name: "woohooo" });
});
}