type tutorial react docs flowtype

flowtype - tutorial - Flujo "Módulo obligatorio no encontrado" al importar un archivo CSS



flow type tutorial (3)

Cuando intento importar CSS a través de webpack (importar (./index.css)), aparece este error:

3: import ''./index.css''; ^^^^^^^^^^^^^ ./index.css. Required module not found

Tengo una estructura como ComponentName → (index.js, index.css), de modo que cada componente tiene todas las dependencias dentro.

Intenté this truco pero no funcionó para mí. ¿Podría simplemente ignorarlo de alguna manera?


Agrega esto a tu configuración de flujo

[options] module.name_mapper.extension=''css'' -> ''<PROJECT_ROOT>/CSSModuleStub.js''

Y añada crear un archivo a su raíz CSSModuleStub.js :

// @flow type CSSModule = { [key: string]: string } const emptyCSSModule: CSSModule = {} export default emptyCSSModule

Si quieres una ruta limpia, puedes ajustar así

[options] module.name_mapper.extension=''css'' -> ''<PROJECT_ROOT>/flow/stub/css-modules.js''

Y así renombrar CSSModuleStub.js a flow/stub/css-modules.js .

Mientras estamos en ello, si necesita algunos otros apéndices (por ejemplo: para url-loader ) aquí hay otro ejemplo.

Crear flow/stub/url-loader.js

// @flow const s: string = "" export default s

Y añadir

module.name_mapper=''.*/./(svg/|png/|jpg/|gif/)$'' -> ''<PROJECT_ROOT>/flow/stub/url-loader.js''

Si usas url-loader para svg, png, jpg y gif. Esto permitirá a Flow realizar el reemplazo correcto del módulo (url-loader devuelve una cadena (base64 o ruta del cargador de archivos).

Por ejemplo si lo haces

import logoSVG from "./logo.png" logoSVG.blah.stuff() // <-- flow will throw here

El flujo lanzará un error.


Gracias @MoOx, esto es genial !! ¿Alguna sugerencia sobre un talón para el cargador de paquetes webpack?

Estaba pensando algo como esto ...

module.name_mapper=''^bundle?[a-zA-Z0-9$_]+$'' -> ''<PROJECT_ROOT>/flow/stubs/bundle-loader.js.flow'' require(''bundle?lazy&name=bundleName!path/to/file'')