reactjs - Cómo cargar archivos con extensión .web en React Native Web con Typescript
En el caso de React Native Web, tenemos la posibilidad de usar archivos con extensiones .web y .android. Por ejemplo.
myFile.web.js
myFile.android.js
entonces podemos incluirlos vía
import myFile from './myFile';
y React Native Web proporciona automáticamente el contenido de archivo adecuado según la plataforma.
Funciona hasta ahora, pero después de que añadí Typescript, el compilador ts comenzó a quejarse sobre el módulo faltante 'myFile' y lógicamente tiene sentido porque no tenemos este archivo y el compilador de TS no sabe que RNWeb seleccionará automáticamente un archivo adecuado más adelante. Cuando desactivo Typescript, todo funciona bien, así que el sistema está funcionando. La pregunta es cómo resolver esto en el caso de Typescript?
Gracias por cualquier ayuda.
Respuesta #1
La única manera que encontré para evitar este problema es usando el sistema de módulos CommonJS - require
en lugar del estándar ES6 - import
Ejemplo: const MyFile=require('./myFile')
En este caso, el compilador de TS lo ignorará. Desafortunadamente, no es una solución perfecta/correcta como me gustaría ver, pero funciona, así que simplemente la uso tal cual.
P.D. Si alguien encuentra otra manera, por favor, proporcionen su solución, se lo agradeceré.