配置TypeScript以解决Helmet模块导入的类型声明问题
关于TypeScript中Helmet模块TS7016错误的排查求助
- 刚接触TypeScript,项目中使用
import * as helmet from "helmet";导入Helmet时,持续触发TS7016错误:找不到Helmet模块的声明文件,其index.cjs文件隐式具有'any'类型。 - 尝试安装
@types/helmet无效,该包为空存根;使用// @ts-ignore仅能临时规避错误,但不是根本解决方案。 - 发现Helmet本身提供了
.d.cts和.d.mts声明文件,但ts-node无法识别,手动将这些文件改为.d.ts后问题解决,因此怀疑是tsconfig配置存在问题,恳请帮忙排查。
我的tsconfig配置如下:
{ "compilerOptions": { "target": "es6", "module": "commonjs", "lib": ["dom", "es6", "es2017"], "skipLibCheck": true, "sourceMap": true, "outDir": "./dist", "moduleResolution": "node", "removeComments": true, "noImplicitAny": true, "strictNullChecks": true, "strictFunctionTypes": true, "noImplicitThis": true, "noUnusedLocals": false, "noUnusedParameters": false, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "resolveJsonModule": true, "baseUrl": ".", "typeRoots": ["./node_modules/@types", "src/types"] }, "exclude": ["node_modules"], "include": ["./src/**/*.tsx", "./src/**/*.ts"] }
补充说明:项目通过typeORM的Express初始化模板搭建。
内容的提问来源于stack exchange,提问作者AlZanari
相关产品推荐
相关产品推荐

