Ole*_*Ole 1 javascript rest node.js express typescript
在这个演示中,我尝试使用 DefintelyTypedResponse和Request类型作为req, res参数。但是,这不会编译:
const express = require('express');
const app = express();
app.get('/', (req:Request, res:Response) => {
res.send('Hello Express Lovers!');
});
app.listen(3000, () => console.log('server started'));
Run Code Online (Sandbox Code Playgroud)
错误是:
^
TSError: ? Unable to compile TypeScript:
index.ts:4:9 - error TS2339: Property 'send' does not exist on type'Response'.
Run Code Online (Sandbox Code Playgroud)
您应该以 TypeScript 方式导入 Express,以便其类型 (in @types/express) 出现,从而允许从 推断出req和的类型:resapp.get
import * as express from 'express';
const app = express();
app.get('/', (req, res) => {
res.send('Hello Express Lovers!');
});
app.listen(3000, () => console.log('server started'));
Run Code Online (Sandbox Code Playgroud)
如果您无论如何都想显式键入它们,则必须导入类型:
import * as express from 'express';
import {Request, Response} from 'express';
const app = express();
app.get('/', (req: Request, res: Response) => {
res.send('Hello Express Lovers!');
});
app.listen(3000, () => console.log('server started'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3577 次 |
| 最近记录: |