рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред
@types/express
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВредDefinitions by:
рдореЗрдВ index.d.ts
) рддрд╛рдХрд┐ рд╡реЗ рдХрд░ рд╕рдХреЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛.рдореЗрд░реЗ рдмрд┐рд▓реНрдб @ рдкреНрд░рдХрд╛рд░/рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдлреЗрдВрдХ рд░рд╣реЗ рд╣реИрдВ:
Property 'headers' does not exist on type 'Request<any>'
Property 'query' does not exist on type 'Request<any>'
Property 'body' does not exist on type 'Request<any>'
рд╣рдордиреЗ рдЕрдкрдиреА рдУрд░ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ рдореЗрд░рд╛ TS рд╡рд╛рддрд╛рд╡рд░рдг, рдЬрдм рдореИрдВ @types/express рдХреЗ index.d.ts рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ:
`express-serve-static-core` has no exported member 'ParamsDictionary'
`express-serve-static-core` has no exported member 'Params'
`express-serve-static-core` has no exported member 'Params'
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдореБрдЭреЗ рдХреЛрдИ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред
@types/express рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп @types/express-serve-static-core рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, рдлрд┐рд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░реЗрдВред
рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ! рдпрд╣ 4.17.1 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди 4.17.2 рдореЗрдВ рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреИрдЪ-рд╕реНрддрд░реАрдп рдЕрдкрдбреЗрдЯ рдЯреВрдЯ рд░рд╣рд╛ рд╣реИред
@ghostganz @duro рдХреНрдпрд╛ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрджрдо рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрд╣ рдлрд╝рд╛рдЗрд▓ 4.17.1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ:
import { Request } from 'express';
function isHealthCheck(req: Request): boolean {
return req.method === 'GET' && req.query.healthCheck === 'true';
}
export default isHealthCheck;
4.17.2 рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдпреЗ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ:
TS2339: Property 'method' does not exist on type 'Request<any>'.
TS2339: Property 'query' does not exist on type 'Request<any>'.
express-serve-static-core
рдХрд╛ рдХреЛрдИ рдирд┐рд░реНрдпрд╛рддрд┐рдд рд╕рджрд╕реНрдп 'ParamsDictionary' рдирд╣реАрдВ рд╣реИ
express-serve-static-core
рдХрд╛ рдХреЛрдИ рдирд┐рд░реНрдпрд╛рддрд┐рдд рд╕рджрд╕реНрдп 'рдкрд░рдо' рдирд╣реАрдВ рд╣реИ
express-serve-static-core
рдХрд╛ рдХреЛрдИ рдирд┐рд░реНрдпрд╛рддрд┐рдд рд╕рджрд╕реНрдп 'рдкрд░рдо' рдирд╣реАрдВ рд╣реИ
рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ @types/express-serve-static-core
рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ @types/express
рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ @types/express-serve-static-core
рдХреЛ 4.16.11
рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореЗрд░реА рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдиреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 4.16.7
рд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред
4.17.2 рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдпреЗ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ:
TS2339: Property 'method' does not exist on type 'Request<any>'. TS2339: Property 'query' does not exist on type 'Request<any>'.
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ @types/express
4.17.2 рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
@duro @ghostganz рдХреНрдпрд╛ рдЖрдк node_modules
, package-lock.json
, yarn.lock
рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ package.json
рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред
рдпрд╣ рд╕рд░рд▓рддрдо package.json
yarn install
рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди npm install
рдпрд╛ yarn install --flat
рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
package.json
{
"dependencies": {
"@types/express": "4.17.2",
"@types/express-serve-static-core": "4.16.8",
"@types/node": "^12.12.5",
"typescript": "^3.6.4"
}
}
рдХреНрдпреЛрдВрдХрд┐ @types/express
4.17.2 (# 38,887) рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ @types/express-serve-static-core
4.16.9 (# 37,718) рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП generic
рдЙрдкрдпреЛрдЧред
рдореБрдЭреЗ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА, рдмрд╕ 4.17.2 рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдЯреВрдЯ рдЧрдпрд╛ред
рдореИрдВрдиреЗ рд╡рд╣реА рдХрд┐рдпрд╛ рдЬреЛ @rockwyc992 рдиреЗ рдкреИрдХреЗрдЬ-рд▓реЙрдХ рдФрд░ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ
рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ 4.17.1 (рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛) рд╕реЗ 4.17.2 . рддрдХ рдХреВрдж рд░рд╣реА рд╣реИ
рд╡реИрд╕рд╛ рд╣реАред рд░рдирд┐рдВрдЧ rm -rf node modules && rm package-lock.json && npm update
рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдм рдореЗрд░реЗ рд╕рднреА req.params рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рдордЬрдмреВрд░ рд╣реЛ рдЧрдП рд╣реИрдВред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рдФрд░ рдкреИрдЪ рдирд╣реАрдВред
рд╕рдВрд╕реНрдХрд░рдг 4.17.1 рдФрд░ 4.17.2 рдХреЗ рдмреАрдЪ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЛ 4.17.0 рдкрд░ рдкрд┐рди рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рд╣реИ:
"dependencies": {
"express": "4.17.0"
},
"devDependencies": {
"@types/express": "4.17.0"
}
рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ рдФрд░ рд╕рд╛рде рдЗрд╕реЗ рд╣рд▓ "skipLibCheck": true
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ tsconfig.json
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рдФрд░ рдкреИрдЪ рдирд╣реАрдВред
@timshannon рдореИрдВ Express.js
рд╕рд╛рде MINOR рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ Express.js
рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдирдП рд╕рдВрд╕реНрдХрд░рдг 4.18
рд░рдЦ рд╕рдХреЗрдВред
рдпрд╣ рдПрдХ рдХрдард┐рди рдХрд╛рдо рд╣реИред рдореИрдВ рдпрд╣ рдкреБрд▓ рдЕрдиреБрд░реЛрдз (#38478) 09/19 рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ 11/02 рдкрд░ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдкреВрд░реЗ рдорд╣реАрдиреЗ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдЬрд┐рддрдирд╛ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛, рдмрд╕ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдк рд╕рднреА рдХреЛ @types/express
рдХрд╛ рдмрдореНрдк рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ Express.js
рдХреЛ TypeScript
рд╕рд╛рде рдФрд░ рдХрд░реАрдм рдмрдирд╛рдиреЗ рдФрд░ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдХреНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг @types/express-serve-static-core
рдореЗрдВ рдЕрджреНрдпрддрди @types/express
рдЕрдЧрд░ рдпрд╣ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдХреНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг
@types/express-serve-static-core
рдореЗрдВ рдЕрджреНрдпрддрди@types/express
рдЕрдЧрд░ рдпрд╣ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
package.json
рдХрд╛ @types/express
@ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
@Pajn рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ, thxред
рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рддреЛ рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рд╕реАрдорд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрдм @types рдкреИрдХ рдореЗрдВ рдкреИрдЪ рдЕрдкрдбреЗрдЯ рдХреЗ рдХрд╛рд░рдг рднрд╛рд░реА рд╕рдорд╕реНрдпрд╛ рд╣реБрдИ рд╣реИред
@DanielRosenwasser @sandersn рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ @types/express
рд▓рд┐рдП @types/express-serve-static-core
рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВ?
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ yarn remove express-serve-static-core
рдпрд╣ рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рдмрдиреА рд╣реБрдИ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ ^4.17.0
рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣ рдкрд╛рдпрд╛ред
рд╕рдорд╕реНрдпрд╛ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╣реИред рдЖрдкрдХреЛ рдмрд╕ express-serve-static-file
рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ yarn
рдпрд╛ npm i
рдлрд┐рд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореЗрд░реА yarn.lock
рдлрд╝рд╛рдЗрд▓ рдХреЗ рднреАрддрд░, @types/express
рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рдмрд╛рдж 4.17.2
рдмрд╛рдж рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣реА рдерд╛:
"@types/express-serve-static-core@*":
version "4.16.7"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.7.tgz#50ba6f8a691c08a3dd9fa7fba25ef3133d298049"
integrity sha512-847KvL8Q1y3TtFLRTXcVakErLJQgdpFSaq+k043xefz9raEf0C7HalpSY7OW5PyjCnY8P7bPW5t/Co9qqp+USg==
dependencies:
"@types/node" "*"
"@types/range-parser" "*"
"@types/express@^4.17.2":
version "4.17.2"
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.2.tgz#a0fb7a23d8855bac31bc01d5a58cadd9b2173e6c"
integrity sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==
dependencies:
"@types/body-parser" "*"
"@types/express-serve-static-core" "*"
"@types/serve-static" "*"
рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдмреЗрдореЗрд▓ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдмреНрд▓реЙрдХ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, yarn
рдлрд┐рд░ рд╕реЗ, рдФрд░ рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣реА рд╣реИ:
"@types/express-serve-static-core@*":
version "4.17.2"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz#f6f41fa35d42e79dbf6610eccbb2637e6008a0cf"
integrity sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg==
dependencies:
"@types/node" "*"
"@types/range-parser" "*"
"@types/express@^4.17.2":
version "4.17.2"
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.2.tgz#a0fb7a23d8855bac31bc01d5a58cadd9b2173e6c"
integrity sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==
dependencies:
"@types/body-parser" "*"
"@types/express-serve-static-core" "*"
"@types/serve-static" "*"
рдХреЛрдИ рдФрд░ рдмреЗрдореЗрд▓ рдирд╣реАрдВ, рдФрд░ рдХреЛрдИ рдФрд░ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВред
рдореБрдЭреЗ рдпрд╣ рд╕рднреА рдПрдХреНрд╕рдкреНрд░реЗрд╕-рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ (рдПрдХреНрд╕рдкреНрд░реЗрд╕-рдЬреЗрдбрдмреНрд▓реНрдпреВрдЯреА рд╕рд╣рд┐рдд) рдкрд░ yarn remove
рдЪрд▓рд╛рдиреЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ред
рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╛рд░реНрди рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛:
$ rm -f yarn.lock
$ yarn cache clean
$ yarn
рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛ!
рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдПрдХреНрд╕рдкреНрд░реЗрд╕-рд╕рд░реНрд╡-рд╕реНрдЯреЗрдЯрд┐рдХ-рдХреЛрд░ рдерд╛ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ @ рдЯрд╛рдЗрдкреНрд╕/рдПрдХреНрд╕рдкреНрд░реЗрд╕, рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╕-рд╕рд░реНрд╡-рд╕реНрдЯреЗрдЯрд┐рдХ-рдХреЛрд░ && @ рдкреНрд░рдХрд╛рд░/рдПрдХреНрд╕рдкреНрд░реЗрд╕-рд╕рд░реНрд╡-рд╕реНрдЯреЗрдЯрд┐рдХ-рдХреЛрд░, рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдмреЙрдбреА-рдкрд╛рд░реНрд╕рд░ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдирд╣реАрдВред
рд╡рд┐рдВрдбреЛрдЬрд╝, рдПрдирдкреАрдПрдо рдФрд░ рд╡реАрдПрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдХрд╛рд░ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рдЗрд╕реЗ %localappdata%\Microsoft\TypeScript\
рдЬрд╛рдХрд░ рддрдп рдХрд┐рдпрд╛, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: 3.9
рдФрд░ npm install @types/express-serve-static-core
рдЪрд▓рд╛рдПрдВ
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реА рдореБрдЦреНрдп рдорд╢реАрди рдХреЗ рд▓рд┐рдП @types/express-serve-static-core
рдХреНрдпреЛрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реА рдПрдХ рдФрд░ рддрд╛рдЬрд╛ рдорд╢реАрди рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
рдЕрджреНрдпрддрди:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ npm update
рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╡рд╣рд╛рдВ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЕрднреА рднреА 2020 рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ 2020 рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдЧрд▓рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ 2017 рд╕реЗ рдЬрд╛рд░реА рд╣реИ рдЬреИрд╕реЗ рдЖрдУ рджреЛрд╕реНрддреЛрдВред
@ xtianus79 TBH, koa
рдФрд░ fastify
2020 рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЕрдЪреНрдЫрд╛ рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рд╡рд┐рд░рд╛рд╕рддреА рдХрд╛рдо рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП рдЙрддреНрддрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ @types/express-serve-static-core
рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд @types/express
ред
рдореЗрд░реЗ package.json
:
"@types/express": "^4.17.6",
"@types/express-serve-static-core": "~4.17.7"
@types/express
рдХреЛ "4.17.2" рд╕реЗ "4.17.6" рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИрдВ:
error TS2694: Namespace '"@types/express-serve-static-core/index"' has no exported member 'Query'.
error TS2707: Generic type 'ErrorRequestHandler' requires between 0 and 3 type arguments.
error TS2694: Namespace '"@types/express-serve-static-core/index"' has no exported member 'Query'.
error TS2707: Generic type 'Request<P, ResBody, ReqBody>' requires between 0 and 3 type arguments.
error TS2694: Namespace '"@types/express-serve-static-core/index"' has no exported member 'Query'.
error TS2707: Generic type 'RequestHandler<P, ResBody, ReqBody>' requires between 0 and 3 type arguments.
рдореИрдВрдиреЗ yarn why @types/express-serve-static-core
рдХреЙрд▓ рдХрд┐рдпрд╛ рдФрд░ рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:
info Reasons this module exists
- "@types#express" depends on it
- Hoisted from "@types#express#@types#express-serve-static-core"
рд░рдирд┐рдВрдЧ yarn upgrade --latest
рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдорджрдж рдХреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреА рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдЕрджреНрдпрддрди "@ рдкреНрд░рдХрд╛рд░ / рд╡реНрдпрдХреНрдд-рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ рд╕реНрдереИрддрд┐рдХ рдХреЛрд░" рдореЗрдВ yarn.lock
ред
рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, рдирд╡реАрдирддрдо рдПрдХреНрд╕рдкреНрд░реЗрд╕/рдПрдХреНрд╕рдкреНрд░реЗрд╕-рд╕рд░реНрд╡-рд╕реНрдЯреЗрдЯрд┐рдХ-рдХреЛрд░ рдкреНрд░рдХрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЕрдиреБрд░реЛрдз рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
interface ExampleRequest extends Request {
example: any
}
// No overload matches this call...
router.use('/api', async function (req:ExampleRequest, res, next) { ... }
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╛рд░реНрди рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛:
рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛ!