Node.js 如何解决以下typescript错误:";找不到命名空间';禁食'&引用;?
我最近决定升级fastify服务器模板上的所有软件包 My package.json的外观如下所示: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
{
"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
应该可以工作