当我编写一个打字稿项目时,我没有看到明确导入import {Request, Response}
。现在我尝试使用require
,但不确定如何扩展快速对象并使用req
和res
。任何帮助将不胜感激。
index.ts
// import {Request, Response} from 'express';
import express = require('express');
import * as sdkStore from "../../common/sdk-store";
export function getInfo(req: Request, res: Response) {
var app = sdkStore.getSdkInstance(req.body.client);
app.Payment.Info(req.body, function (result) {
res.send(result);
});
}
答案 0 :(得分:0)
我使用相同的策略来使用Request
&来自Response
模块的express
。
我正在这样做(检查getTemples
方法的参数) -
打字稿
import * as express from "express";
import { Response as ApiResponse } from "../models/response.model";
import { TempleProvider } from "../providers/temple.provider";
export namespace TempleFacade {
export function getTemples(req: express.Request, res: express.Response, next: express.NextFunction): void {
let apiResponse: ApiResponse<any> = new ApiResponse();
TempleProvider.getTemples()
.then((response: Array<any>) => {
apiResponse.data = response;
res.json(apiResponse);
})
.catch((error: any) => {
apiResponse.data = null;
apiResponse.status = false;
apiResponse.messages = error;
res.json(apiResponse);
});
}
}
编译Javascript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const response_model_1 = require("../models/response.model");
const temple_provider_1 = require("../providers/temple.provider");
var TempleFacade;
(function (TempleFacade) {
function getTemples(req, res, next) {
let apiResponse = new response_model_1.Response();
temple_provider_1.TempleProvider.getTemples()
.then((response) => {
apiResponse.data = response;
res.json(apiResponse);
})
.catch((error) => {
apiResponse.data = null;
apiResponse.status = false;
apiResponse.messages = error;
res.json(apiResponse);
});
}
TempleFacade.getTemples = getTemples;
})(TempleFacade = exports.TempleFacade || (exports.TempleFacade = {}));
//# sourceMappingURL=temple.facade.js.map
我希望这会有所帮助:)