El archivo Babel se copia sin transformarse

Resuelto Raul Vallespin asked hace 9 años • 10 respuestas

Tengo este código:

"use strict";

import browserSync from "browser-sync";
import httpProxy from "http-proxy";

let proxy = httpProxy.createProxyServer({});

y lo he instalado babel-coreglobalmente babel-clia través de npm. El punto es cuando intento compilar con esto en mi terminal:

babel proxy.js --out-file proxified.js

El archivo de salida se copia en lugar de compilarse (quiero decir, es el mismo que el archivo fuente).

¿Que me estoy perdiendo aqui?

Raul Vallespin avatar Oct 30 '15 23:10 Raul Vallespin
Aceptado

Babel es un marco de transformación. Antes de 6.x, permitía ciertas transformaciones de forma predeterminada, pero con el mayor uso de las versiones de Node que admiten de forma nativa muchas características de ES6, se ha vuelto mucho más importante que las cosas sean configurables. De forma predeterminada, Babel 6.x no realiza ninguna transformación. Debes decirle qué transformaciones ejecutar:

npm install babel-preset-env

y correr

babel --presets env proxy.js --out-file proxified.js

o crear un .babelrcarchivo que contenga

{
    "presets": [
        "env"
    ]
}

y ejecútelo como lo hacía antes.

enven este caso hay un ajuste preestablecido que básicamente dice que se debe compilar todo el comportamiento estándar de ES* en ES5. Si está utilizando versiones de Node que admiten algunos ES6, es posible que desee considerar hacer

{
    "presets": [
        ["env", { "targets": { "node": "true" } }],
    ]
}

para decirle al ajuste preestablecido que solo procese cosas que no son compatibles con su versión de Node. También puede incluir versiones de navegador en sus objetivos si necesita compatibilidad con el navegador.

loganfsmyth avatar Oct 30 '2015 16:10 loganfsmyth

La mayoría de estas respuestas están obsoletas. @babel/preset-envy "@babel/preset-reactson lo que necesitas (a partir de julio de 2019).

mmla avatar Jul 11 '2019 03:07 mmla

Tuve el mismo problema con una causa diferente:

El código que estaba intentando cargar no estaba en el directorio del paquete y Babel no transpila de forma predeterminada fuera del directorio del paquete.

Lo resolví moviendo el código importado, pero quizás también podría haber usado alguna declaración de inclusión en la configuración de Babel.

w00t avatar Jun 10 '2016 04:06 w00t