Create React App中使用CSS Modules遇TS2307错误求助
解决Create React App中CSS Modules的TS2307类型错误
问题原因
TypeScript无法识别CSS模块的类型,因为缺少对应的类型声明文件,导致编译时抛出「找不到模块或对应类型声明」的错误,尽管运行时代码能正常加载样式。
解决方案
在src目录下创建一个类型声明文件(比如命名为declarations.d.ts),添加以下内容:
declare module '*.module.css' { const classes: Record<string, string>; export default classes; }
补充说明
- 如果项目中还使用SCSS模块,可在同一文件中追加:
declare module '*.module.scss' { const classes: Record<string, string>; export default classes; } - 该声明文件会告诉TypeScript:所有以
.module.css(或.module.scss)结尾的文件,导出一个键为原类名、值为编译后类名的对象。 - 你的
tsconfig.json中include已覆盖src目录,因此这个声明文件会被自动识别,无需额外修改配置。
验证
重启TypeScript语言服务(或编辑器),TS2307错误会自动消失,同时CSS模块的类名会获得类型提示。
内容的提问来源于stack exchange,提问作者Paul Gutsal
相关产品推荐
相关产品推荐

