我想在我的React应用程序中使用CSS模块。我安装了“ typings-for-css-modules-loader” nuget软件包,并在webpack.config.js中进行配置
test: /\.css$/,
use: [
'style-loader',
'@teamsupercell/typings-for-css-modules-loader',
{
loader: "css-loader",
options: {
modules: true,
}
}
]
文件styles.css.d.ts生成并如下所示:
export interface IStylesCss {
x: string;
}
export const locals: IStylesCss;
export default locals;
我正在使用在webpack.config.js中配置的awesome-typescript-loader,如下所示:
{
test: /\.tsx?$/,
use:
{
loader: "awesome-typescript-loader"
}
},
这是问题描述:
如果我由于编译错误而无法使用import * as styles from './styles.css';
+ className={styles.x}
,则在类型...上不存在属性'x'。
className={styles.default.x}
也不起作用,因为未定义默认值。
默认导入import styles from './styles.css';
+ className={styles.x}
无效,同样,默认值未定义。
import * as styles from './styles.css';
+ className={(styles as any).x}
正常工作,但是我没有进行强类型输入,对我来说这不是正确的解决方案。
答案 0 :(得分:0)
在tsconfig.json中将allowSyntheticDefaultImports和esModuleInterop设置为true,因为asi修补程序对我有用。等待修复。