Ответ 1
Добавьте это в конфигурацию потока
[options]
module.name_mapper.extension='css' -> '<PROJECT_ROOT>/CSSModuleStub.js'
И добавьте файл в корневой каталог CSSModuleStub.js
:
// @flow
type CSSModule = { [key: string]: string }
const emptyCSSModule: CSSModule = {}
export default emptyCSSModule
Если вам нужен чистый путь, вы можете настроить его следующим образом
[options]
module.name_mapper.extension='css' -> '<PROJECT_ROOT>/flow/stub/css-modules.js'
И переименуем CSSModuleStub.js
в flow/stub/css-modules.js
.
Пока мы на нем, если вам нужны другие заглушки (например: для url-loader
), вот еще один пример
Создать flow/stub/url-loader.js
// @flow
const s: string = ""
export default s
И добавьте
module.name_mapper='.*\.\(svg\|png\|jpg\|gif\)$' -> '<PROJECT_ROOT>/flow/stub/url-loader.js'
если вы используете url-loader
для svg, png, jpg и gif. Это позволит Flow выполнить правильную замену модуля (url-loader возвращает строку (base64 или файл-загрузчик).
Например, если вы делаете
import logoSVG from "./logo.png"
logoSVG.blah.stuff() // <-- flow will throw here
Поток выдаст ошибку.