解决Cannot find module ‘./index.module.scss’ or its corresponding type declarations.ts(2307)
嗯,这个错误产生于构建react+typescript+scss。起初百度了好多,但是。。。。不出意料,没有解决。
react项目中引入typescript_2422400672的博客-CSDN博客
配置好之后,问题来了
import styles from "./index.module.scss";
它报错了,竟然报错了。。。额,震惊!!!
如果不是模块引用,即
import "./index.module.scss";
不会产生错误信息,可正常运行。
因为styles
本身就不在scss
里面,所以会报错。找了一些帖子吧,大概说的就是ts不是Node环境的,要修改一下ts.config.json
这个文件。
于是,海找秃头,翻到了希望。
解决这个问题的三个方法。
链接: CSS in Typescript - 掘金 (juejin.cn)
哈哈哈,感觉老哥写的很好,棒棒哒。
接下来,我觉得我的还是适合import,so我选择了第三种,惊不惊喜。
我的tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "es2015",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"moduleResolution": "node",//node环境
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
"baseUrl": "src",
"paths": {
"@/*": [
"./*"
]
},
"experimentalDecorators": true
},
"include": [
"src",
"typed-css.d.ts"//配置的.d.ts文件
]
}
我的typed-css.d.ts
declare module '*.module.css' {
const classes: { readonly [key: string]: string }
export default classes
}
declare module '*.module.sass' {
const classes: { readonly [key: string]: string }
export default classes
}
declare module '*.module.scss' {
const classes: { readonly [key: string]: string }
export default classes
}
问题解决。
网友评论