//jshint esversion:6 const express = require("express"); const bodyParser = require("body-parser"); const app = express(); app.use("view-engine", "ejs"); app.get("/", function(req, res){ var today = new Date(); var currentDay = today.getDay(); var day = ""; if (currentDay === 6 || currentDay === 0) { day = "Weekend"; }else { day = "weekday"; } res.render("list" , {kindofDay: day}); }); app.listen(3000, function(){ console.log("Server started on port 3000"); });No puedo ver dónde me he equivocado. ¿Alguien puede ver? cada vez que ejecuto este app.js que muestra que router.use() requiere una función de middleware pero obtuvo un ' + gettype(fn) este error.
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>To Do List</title> </head> <body> <h1>It's a <%= kindofDay %></h1> </body> </html>Este es mi archivo list.ejs..
app.use([path,] callback [, callback...]) -> Este código es lo que usa cuando desea que una función específica de devolución de llamada se ejecute en una ruta específica. Esto se llama un middleware .
app.set(name, value) -> Este código es lo que usas cuando quieres asignar un valor a alguna variable. Puede usar cualquier nombre, pero ciertos nombres pueden usarse para configurar el comportamiento del servidor. Uno de estos name es view engine (observe que no hay guión). Establecerá el motor de plantilla para usar.
Si su objetivo es establecer ejs como su motor de plantillas, simplemente haga app.set("view engine", "ejs");