Saltar al contenido

Cuándo usar babel.config.js y .babelrc

Solución:

De los documentos
https://babeljs.io/docs/en/config-files#project-wide-configuration

Babel tiene dos formatos de archivo de configuración paralelos que se pueden usar juntos o de forma independiente.

Project-wide configuration
    babel.config.json files, with the different extensions

File-relative configuration
    .babelrc.json files, with the different extensions
    package.json files with a "babel" key

Babel carga archivos .babelrc.json, o uno equivalente usando las extensiones compatibles, buscando en la estructura del directorio comenzando por el “nombre de archivo” que se está compilando.

Dada esa información

.babelrc sería útil si desea ejecutar ciertas transformaciones / complementos en un subconjunto de archivos / directorios. Tal vez tenga bibliotecas de terceros que no desea que babel transforme / cambie.

babel.config.json es útil si tiene varios directorios de paquetes (es decir, varios paquetes package.json) en su proyecto que utilizan una única configuración de babel. Esto es menos común.

Si su pregunta es sobre extensiones de archivo (p. Ej. .js vs .json) con respecto a las configuraciones de babel

Utilizando .js expone una api de configuración de babel.

https://babeljs.io/docs/en/config-files#config-function-api

Tenga en cuenta que esto aumenta la complejidad con respecto al almacenamiento en caché, la mayoría de las veces es mejor usar .json configuraciones estáticas

Parece haber alguna diferencia entre las dos configuraciones,

Mirando esta pregunta:

Jest transformIgnorePatterns no funciona

A veces, ciertas características solo funcionan con un determinado archivo, esto es extremadamente vago y ciertamente no está documentado. (Puedo confirmar que existe el problema mencionado anteriormente y cambiar el nombre del archivo de configuración lo resuelve)

Además, en otras ocasiones, los archivos de configuración de babel se ignoran por completo, como en el caso de webpack y babel-loader. Es de esperar que babel cargue el archivo .babelrc que se encuentra en la raíz del proyecto, pero resulta que lo ignorará y ejecutará las opciones proporcionadas dentro de Webpack.

Entonces, desafortunadamente, la respuesta es un poco vaga, y la falta de documentación sobre cómo funcionan estas características no mejora la situación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *