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

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

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 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!