Я пытаюсь указать тип параметра функции в приложении Node. Это то, что я придумал:Задание типа функциональных параметров с помощью 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. «экспресс» определяется как
declare module "express" {
в файле .d.ts.
Очевидно, я делаю это неправильно .. Любые намеки?
EDIT: Чтобы развернуть ответ на basarat: В файле csproj найдите запись TypeScriptModuleKind и установите ее в COMMONJS.
В Т.С. кончались глядя, как это:
import express = require("express");
module.exports = (app: express.Application) => {
app.get("/", (req, res) => {
res.send({ name: "woohooo" });
});
}