Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

149
Vistas
require('babel/registrar') no funciona

Tengo una aplicación isomorfa escrita en ES6 en un cliente con Babel transpiler . Quiero que mi servidor express tenga la misma sintaxis ES6 que el código del cliente.

Desafortunadamente require('babel/register') no funciona..

servidor.js

 require('babel/register'); // doesn't work // require('babel-core/register); doesn't work.. const env = process.env.NODE_ENV || 'development'; const port = process.env.NODE_PORT || 1995; const http = require('http'); const express = require('express'); const address = require('network-address'); let app = express(); app.set('port', port); app.use(express.static(path.join(__dirname, 'public'))); app.get('*', (req, res) => { res.send('Hello!'); }); http.createServer(app).listen(app.get('port'), function () { console.info('Demo app is listening on "%s:%s" env="%s"', address(), app.get('port'), env); });
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Dado que Babel 6 usa babel-register hook para realizar la transpilación sobre la marcha.

Primero:

 npm install babel-register

Entonces pídelo con:

 require('babel-register'); // not using // require('babel/register'); // or // require('babel-core/register);

Para convertir su código Ecmascript 6 a ecmascript 5 , debe configurar la opción de Babel presets con require babel-register esta manera:

 require('babel-register')({ presets: [ 'es2015' ] });

A diferencia de la respuesta de @alexander-pustovalov , no necesita un archivo .babelrc .

también debes instalar babel-preset-es2015 :

 npm install babel-preset-es2015

Finalmente, su archivo Server.js será:

 require('babel-register')({ presets: [ 'es2015' ] }); const env = process.env.NODE_ENV || 'development'; const port = process.env.NODE_PORT || 1995; const http = require('http'); const express = require('express'); const address = require('network-address'); let app = express(); app.set('port', port); app.use(express.static(path.join(__dirname, 'public'))); app.get('*', (req, res) => { res.send('Hello!'); }); http.createServer(app).listen(app.get('port'), function () { console.info('Demo app is listening on "%s:%s" env="%s"', address(), app.get('port'), env); });
over 4 years ago · Santiago Trujillo Denunciar

0

require('babel/register') no transpila el archivo desde el que se llama. Si desea que server.js se incluya en la transpilación sobre la marcha, debe ejecutarlo con babel-node (el reemplazo de la CLI de Babel para node ).

Vea mi respuesta aquí para ver un ejemplo.

over 4 years ago · Santiago Trujillo Denunciar

0

Me encontré con un problema similar al intentar renderizar una página de reacción (.jsx) en el servidor. Lo arreglé colocando el fragmento a continuación en la parte superior de mi archivo de servidor

 require('babel-register')({ presets: ['es2015', 'react'] });

asegúrese de tener instalados npm babel-preset-es2015 y babel-preset-react

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda