React CSS模块导入与打字稿不兼容

我想在我的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} 正常工作,但是我没有进行强类型输入,对我来说这不是正确的解决方案。

izying110 回答:React CSS模块导入与打字稿不兼容

在tsconfig.json中将allowSyntheticDefaultImports和esModuleInterop设置为true,因为asi修补程序对我有用。等待修复。

本文链接:https://www.f2er.com/3146208.html

大家都在问