TypeScript에서 CSS 모듈 처리

기존 JavaScript(React)의 TypeScript화를 추진 중인데 빠져서 필기를 합니다.

이벤트


CSS modules 섹션에서 fail
Foo/index.tsx
import React from 'react'
import styles from './index.css'

...
app/javascript/components/Foo/index.tsx:2:20 - error TS2307: モジュール './index.css' が見つかりません

해결 방법


typed-css-modulestypings-for-css-modules-loader 등 패키지를 사용하는 방법도 있지만 전체적인 정의 파일을 준비해 시원하게 대응한다.
declare module '*.css' {
  interface IClassNames {
    [className: string]: string
  }
  const classNames: IClassNames;
  export = classNames;
}
이상

참고 자료

  • reactjs - How to import CSS modules with Typescript, React and Webpack - Stack Overflow
  • How to use CSS Modules with TypeScript and webpack – Artem Sapegin – Medium
  • Quramy/typed-css-modules: Creates .d.ts files from css-modules .css files
  • Module build failed error · Issue #89 · Jimdo/typings-for-css-modules-loader
  • 좋은 웹페이지 즐겨찾기