【发布时间】:2021-08-30 10:09:15
【问题描述】:
我有以下代码:
index.ts
import express from "express";
import { Uuid } from "./Uuid";
import { UuidGen } from "./Uuid_gen";
const app = express();
const port = process.env.port || 3000;
app.get("/Uuidgen/1/:operatingAgency/:locId?", (request, result) =>
result.send(UuidGen.generateType1Uuid(request.params.operatingAgency, request.params.locId).toString())
);
app.listen(port, () => console.log(`UUID Generator listening on port ${port}`));
现在,当文件以 .ts 扩展名保存时,TypeScript 编译器会报错:
现在,当应用“快速修复”时,结果代码如下:
app.get("/Uuidgen/1/:operatingAgency/:locId?", (request, result) =>
result.send(UuidGen.generateType1Uuid(request.params.operatingAgency, request.params["locId?"]).toString())
这编译得很好,但是locId 参数永远不会传递给回调函数并且是空的。我能做些什么?一个临时解决方案是将扩展名更改为.js 并确保tsconfig.json 中的"checkJs": false,但理想情况下,我希望我的整个项目都使用TypeScript。
我在package.json 中的devDependencies 下列出了@types/express。
【问题讨论】:
-
有一个open PR 可以解决这个问题。在合并之前,您可能希望使用查询字符串。
-
说鬼,前两天还审核过了。谢谢;我尝试改用
<string>req.query.locId,但这也不起作用。我错过了什么吗?
标签: node.js typescript express routes