Node.js 如何解决以下typescript错误:";找不到命名空间';禁食'&引用;?

Node.js 如何解决以下typescript错误:";找不到命名空间';禁食'&引用;?,node.js,typescript,fastify,Node.js,Typescript,Fastify,我最近决定升级fastify服务器模板上的所有软件包 My package.json的外观如下所示: { "name": "backend-template", "version": "1.0.0", "description": "", "author": "", "license&qu

我最近决定升级fastify服务器模板上的所有软件包

My package.json的外观如下所示:

{
    "name": "backend-template",
    "version": "1.0.0",
    "description": "",
    "author": "",
    "license": "ISC",
    "main": "server.ts",
    "scripts": {
        "build": "tsc",
        "test": "jest",
        "start": "node dist/server.js",
        "dev": "cross-env NODE_PATH=src nodemon",
        "lint": "eslint src --ext .js,.ts --max-warnings 0"
    },
    "dependencies": {
        "@types/pg": "^7.14.4",
        "apollo-server-fastify": "^2.17.0",
        "app-module-path": "^2.2.0",
        "axios": "^0.20.0",
        "bcrypt": "^5.0.0",
        "bytebuffer": "^5.0.1",
        "cls-hooked": "^4.2.2",
        "cls-proxify": "^1.0.1",
        "dataloader": "^2.0.0",
        "dotenv": "^8.2.0",
        "fastify": "^3.3.0",
        "fastify-compress": "^3.3.0",
        "fastify-cors": "^4.1.0",
        "fastify-file-upload": "^3.0.0",
        "fastify-gql": "^5.4.0",
        "fastify-helmet": "^5.0.1",
        "fastify-multipart": "^3.1.0",
        "fastify-plugin": "^2.3.3",
        "fastify-swagger": "^3.3.0",
        "fluent-schema": "^1.0.4",
        "graphql": "^15.3.0",
        "graphql-type-datetime": "^0.2.4",
        "graphql-upload": "^11.0.0",
        "httperrors": "^2.3.0",
        "jsonwebtoken": "^8.5.1",
        "jwks-rsa": "^1.9.0",
        "lodash": "^4.17.20",
        "monotonic-id": "^1.1.0",
        "mysql": "^2.18.1",
        "mysql2": "^2.1.0",
        "node-cache": "^5.1.2",
        "pino": "^6.5.1",
        "pino-pretty": "^4.2.0",
        "sequelize": "^6.3.4",
        "stream-buffers": "^3.0.2",
        "stream-to-blob": "^2.0.1",
        "uuid": "^8.3.0",
        "uuid-parse": "^1.1.0",
        "validator": "^13.1.1"
    },
    "devDependencies": {
        "@types/axios": "^0.14.0",
        "@types/jest": "^26.0.10",
        "@types/validatorjs": "^3.15.0",
        "@typescript-eslint/eslint-plugin": "^3.10.1",
        "cross-env": "^7.0.2",
        "eslint": "^7.7.0",
        "eslint-config-airbnb-typescript": "^9.0.0",
        "eslint-plugin-import": "^2.22.0",
        "eslint-plugin-jest": "^23.20.0",
        "eslint-plugin-prettier": "^3.1.4",
        "husky": "^4.2.5",
        "jest": "^26.4.2",
        "lint-staged": "^10.2.13",
        "nodemon": "^2.0.4",
        "prettier": "^2.1.1",
        "ts-jest": "^26.3.0",
        "ts-node": "^9.0.0",
        "typescript": "^4.0.2"
    },
    "lint-staged": {
        "src/**/!(*test).{js,ts,json}": [
            "prettier --write",
            "eslint --max-warnings 0",
            "git add"
        ]
    },
    "husky": {
        "hooks": {
            "pre-commit": "lint-staged"
        }
    }
}
ts.config:

{
  "compilerOptions": {
    "module": "commonjs",
    "esModuleInterop": true,
    "target": "es6",
    "moduleResolution": "node",
    "sourceMap": true,
    "outDir": "dist",
    "baseUrl": "src",
    "resolveJsonModule": true
  },
  "lib": ["es2015"],
  "include": ["src"]

}
但是当我运行
npm运行dev

我收到以下错误:

node_modules\ts-node\src\index.ts:500
    return new TSError(diagnosticText, diagnosticCodes)
t错误:⨯ 无法编译TypeScript:src/app.ts:44:6-错误 TS2503:找不到命名空间“fastify”

44}作为fastfy.serveroptions ashttp); ~src/app.ts:83:38-错误TS2503:找不到命名空间“fastify”

83(请求):CreateClsProxyFastify=> ~src/app.ts:83:62-错误TS2503:找不到命名空间“fastify”

83(请求):CreateClsProxyFastify=>

节点版本:

v14.9.0

我能做些什么?

我遇到了同样的问题,对我来说,这是通过显式导入类型解决的

即代替

import falsify form 'falsify';
我曾经

import { FalsifyReply } from 'falsify';

我还使用了
false-reply
而不是
false-reply
,因为
http.ServerResponse
已经是默认值。

如何导入fastify?
从“fastify”导入fastify
应该可以工作