react node_modules files exclude typescript svg

node_modules - typescript loader webpack 4



No se pueden importar archivos svg en mecanografiado (4)

En los archivos de typescript(*.tsx) no puedo importar el archivo svg con esta declaración:

import logo from ''./logo.svg'';

Transpiler dice: [ts] cannot find module ''./logo.svg''. Mi archivo svg es solo <svg>...</svg> .

Pero en el archivo .js puedo importarlo sin ningún problema con exactamente la misma declaración de importación. Supongo que tiene algo que ver con el tipo de archivo svg que debe configurarse de alguna manera para ts transpiler.

¿Podría compartir cómo hacer que esto funcione en archivos ts?


Gracias smarx por señalar el uso require() . Entonces en mi caso debería ser:

const logo = require("./logo.svg") as string;

que funciona bien en archivos * .tsx


Hay una forma alternativa de hacer esto que hemos implementado: hacer sus componentes SVG. Hice esto porque me molestaba que estaba usando declaraciones de require commonJS junto con mis s de import .



Tuve el mismo problema al probar un tutorial de react + typecript.
Lo que funcionó para mí fue la siguiente declaración de importación.

import * as logo from ''logo.svg''

Aquí están mis dependencias en package.json.

"dependencies": { "react": "^16.8.4", "react-dom": "^16.8.4", "react-scripts-ts": "3.1.0" },

Espero que ayude a alguien.