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

352
Vistas
preact-render-to-string para devolver token inesperado <

Estoy trabajando con preact por primera vez y estoy tratando de representar el código JSX en el servidor express.

Entiendo que express no entiende la sintaxis JSX y requiere babel.

Instalé babel y transform-react-jsx pero sigo recibiendo el error indefinido.

Error:

 /Users/akarpov/Downloads/test_preact_node/app.js:9 <div class="fox"> ^ SyntaxError: Unexpected token <

.babelrc

 { "presets": ["@babel/preset-env"], "plugins": ["transform-react-jsx"] }

paquete.json

 { "name": "test_preact_node", "version": "1.0.0", "description": "", "main": "app.js", "dependencies": { "@babel/core": "^7.17.10", "@babel/node": "^7.17.10", "@babel/preset-env": "^7.17.10", "body-parser": "^1.20.0", "cors": "^2.8.5", "express": "^4.18.1", "nodemon": "^2.0.16", "preact": "^10.7.1", "preact-render-to-string": "^5.2.0" }, "devDependencies": { "babel-plugin-transform-react-jsx": "^6.24.1" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "babel app.js", "start": "npm run build && nodemon — exec babel-node app.js" }, "author": "", "license": "ISC" }

aplicación.js

 const express = require("express"); const { h } = require("preact"); const render = require("preact-render-to-string"); /** @jsx h */ // silly example component: const Fox = ({ name }) => ( <div class="fox"> <h5>{name}</h5> <p>This page is all about {name}.</p> </div> ); const app = express(); app.listen(3200); // on each request, render and return a component: app.get("/:fox", (req, res) => { let html = render(<Fox name={req.params.fox} />); // send it back wrapped up as an HTML5 document: res.send(`<!DOCTYPE html><html><body>${html}</body></html>`); });
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Un par de problemas:

  1. El indicador es --exec , no - exec .
  2. Necesita comillas alrededor de su comando, es decir, 'babel-node app.js'
 -"start": "npm run build && nodemon — exec babel-node app.js" +"start": "nodemon --exec 'babel-node app.js'"

No estoy seguro de por qué ejecuta Babel sobre su proyecto una vez y luego usa babel-node inmediatamente después. ¿Podría haber sido solo algo que hiciste durante la depuración? De cualquier manera, no es necesario.

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