解決Cannot find module ‘./index.module.scss’ or its corresponding type declarations.ts(2307)
嗯,這個(gè)錯(cuò)誤產(chǎn)生于構(gòu)建react+typescript+scss。起初百度了好多,但是。。。。不出意料,沒(méi)有解決。
react項(xiàng)目中引入typescript_2422400672的博客-CSDN博客
配置好之后,問(wèn)題來(lái)了
import styles from "./index.module.scss";
它報(bào)錯(cuò)了,竟然報(bào)錯(cuò)了。。。額,震驚!!!
如果不是模塊引用,即
import "./index.module.scss";
不會(huì)產(chǎn)生錯(cuò)誤信息,可正常運(yùn)行。
因?yàn)?code>styles本身就不在scss
里面,所以會(huì)報(bào)錯(cuò)。找了一些帖子吧,大概說(shuō)的就是ts不是Node環(huán)境的,要修改一下ts.config.json
這個(gè)文件。
于是,海找禿頭,翻到了希望。
解決這個(gè)問(wèn)題的三個(gè)方法。
鏈接: CSS in Typescript - 掘金 (juejin.cn)
哈哈哈,感覺(jué)老哥寫的很好,棒棒噠。
接下來(lái),我覺(jué)得我的還是適合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環(huán)境
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
"baseUrl": "src",
"paths": {
"@/*": [
"./*"
]
},
"experimentalDecorators": true
},
"include": [
"src",
"typed-css.d.ts"http://配置的.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
}
問(wèn)題解決。