Types-for-css-modules-loader将类名放在`default`类下

时间:2018-09-25 15:13:57

标签: javascript typescript webpack typescript-typings

我正在尝试集成React + typescript + scss + css-modules。一切顺利,但是我遇到了运行时错误,因为已指示react在每个default对象的style属性下查找,该属性不存在。我相信这可能与我导入样式的方式有关

从“ ./header-styles.scss”

中导入*作为样式

这是基于typings-for-css-modules-loader 的建议:

  

如果遇到以下错误:

error TS1192: Module '"xxxxx/xxxx/src/style.sass"' has no default export.
     

也许您应该按照以下方式导出样式:

import * as styles from './style.sass';

我遇到了这个错误,所以我改用了这种语法。

如果我在第一个React.createElement style default`键的chrome中设置的断点处检查, I can see my class names are in-tact there. It is just there is this对象的话。

dev tools inspecting style object

如何将这些类分配给default对象下的style对象,或完全摆脱default

相关的WebpackConfig.rules:

{
  test:/^\.?[\w\-\/]+\.local\.s?css$/,
  exclude: /node_modules/,
  use: ExtractTextPlugin.extract({
    fallback: 'style-loader',
    use: [
      {
        loader: 'typings-for-css-modules-loader',
        options: {
          modules: false,
          // namedExport: true,
          camelCase: true
        }
      },
      {
        loader: `sass-loader`,
        options: {
          sourceMap: true,
          includePaths: [resolve(paths.src, 'client')]
        }
      }
    ]
  })
}

就在VSCode的gif之下

0 个答案:

没有答案