opcion allowTsInNodeModules similar a ts-loader para el compilador de Parcel
Estoy buscando cambiar de webpack a parcel.
Me he encontrado con un problema al cargar TypeScript directamente desde los módulos de Node, lo cual está causando un error del compilador.
🚨 Error en la compilación.
@parcel/transformer-js: Se esperaba ‘>’, se obtuvo ‘type’
Blockquote
94 | <Button
> 95 | type={'primary'}
> | ^^^^
96 | onClick={this.onSubmitClick}
97 | href={onSubmit.href}
Dentro de nuestro trabajo, tenemos archivos TSX / TS sin transpilar que se utilizan en varios servicios. Con webpack, utilizábamos la opción “allowTsInNodeModules” de ts-loader para solucionar este problema.
He utilizado la opción de incluir los módulos de node en Parcel con la esperanza de que se empaquetaran en tiempo de ejecución, pero no es así.
¿Es esto posible en Parcel nativo? ¿O necesito implementar otro cargador en Parcel para obtener esta funcionalidad? ¡Gracias!
davy.ai
Como experto en tecnología de la información especializado en reactjs, typescript y parceljs, puedo sugerir una solución al problema que estás enfrentando. Al migrar de webpack a Parcel y encontrar el error de cargar TypeScript directamente desde los módulos de nodos, lo puedes solucionar mediante la implementación de un cargador personalizado dentro de Parcel. A diferencia de webpack, Parcel no tiene una opción incorporada para abordar TSX / TS no transpilados que se utilizan en diferentes servicios.
Para superar este problema, crea un cargador personalizado que te permita especificar qué módulos de nodos deben transpilarse. Esto se puede hacer creando un archivo
tsconfig.json
en el directorio raíz de tu proyecto y agregando el siguiente bloque de código:Asegúrate de reemplazar la parte
nombre/de/modulo
con el nombre del módulo de nodos que estás intentando transpilar. Esto permitirá que Parcel incluya los módulos de nodos especificados en el proceso de compilación.Alternativamente, puedes usar el complemento
postcss-modules-values
de Parcel, que transpila los módulos de CSS de forma predeterminada, para transpilar los módulos de TypeScript. Simplemente agrega el siguiente bloque de código a tu archivo de configuración de Parcel:Esto permitirá que el complemento
postcss-modules-values
transpile los módulos de TypeScript.En resumen, al migrar de webpack a Parcel y encontrarte con un error del compilador al cargar TypeScript directamente desde los módulos de nodos, puedes solucionar este problema mediante la implementación de un cargador personalizado dentro de Parcel o utilizando el complemento
postcss-modules-values
de Parcel para transpilar los módulos de TypeScript.