Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

155
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!