我有以下代码
app.use(function (req: Request, res, next) {
req.version = req.headers['accept-version'] || '1.0.0';
next();
});
我有文件 express.d.ts
declare namespace Express {
export interface Request {
version?: string | string[];
}
}
和 tsconfig.json
"compilerOptions": {
// other options
"typeRoots": ["./typings", "./node_modules/@types"]
},
"include": [
"src/**/*.ts",
"typings/**/*"
],
此设置已解决问题
vscode本身中的类型'Request
'上不存在属性'version'。
。但是,在进行npm run start
或nodemon
时会在终端中引发问题。
我错过了什么吗?
答案 0 :(得分:0)
我通过注意nodemon
例如运行的命令来解决此问题。 npm run start:dev
ts-node -r tsconfig-paths/register ./src
然后使用此answer
我仅将-T
转储添加到命令中,而只是使用了它。
"scripts": {
...
"start:dev": "ts-node -T -r tsconfig-paths/register ./src",
...
},
也许有一种方法可以使nodemon
做正确的事