Estoy leyendo un tutorial sobre Express y Node.js y estoy tratando de convertir JavaScript a TypeScript.
El código incluye
var handlebars = require("express-handlebars")
.create({ defaultLayout: "main" });
que he traducido a TypeScript tal como está.
¿Existe un TypeScript más idiomático usando import ... as
(del ECMAScript 6) o import handlebars = ...
que logra lo mismo (incluida la llamada a create
)?
He probado lo siguiente:
import handlebars = require("express-handlebars")
handlebars.create({ defaultLayout: "main" })
pero recibo un error de tiempo de ejecución de nodejs en la línea posterior
app.engine("handlebars", handlebars.engine)
diciendo Error: callback function required
.
Supongo que el error se produce porque el objeto no se ha creado correctamente.
Respuestas
2 para la respuesta № 1No conozco este paquete pero mirando las exportaciones no hay engine
exportado.
Mi suposicion es
import * as handlebars from "express-handlebars";
const engine = handlebars.create(...).engine;
app.engine("handlebars", engine);