Estou com problemas na hora de fazer o ForEach loop em um template do Marko. Eu baixei uma versão diferente do da aula para estudar e "me virar" caso precise ler a documentação oficial e mesmo seguindo a documentação oficial(https://markojs.com/docs/core-tags/#for) meu FOR não consegue iterar os elementos do meu Array que é passado pela minha rota GET "/" e me exibir uma resposta num template.
Eis meu setup:
package.json
{
"name": "marko-foreach",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"marko": "^4.18.10"
}
}
Custom-express
require("marko/node-require").install();
const express = require("express");
var markoExpress = require("marko/express");
const app = express();
app.use(markoExpress());
const rotas = require("../app/rotas/rotas");
rotas(app);
module.exports = app;
Rotas.js
module.exports = function(app)
{
app.get("/", function(req, resp)
{
console.log("MainPage");
let colors =
[
{
index: 1,
color: "pink",
name: "Pink"
},
{
index: 2,
color: "blue",
name: "Blue"
},
{
index: 3,
color: "black",
name: "Black"
},
{
index: 4,
color: "green",
name: "Green"
}
];
resp.marko(require("../View/window.marko"), colors);
});
}
Template Marko
<html>
<head>
<meta charset="UTF-8">
<title>Teste For Each</title>
</head>
<body>
<ul>
<for |color| in=data.colors>
<li>`ColorIndex: ${color.index} - Color: ${color.color} - Name: ${color.name}`</li>
</for>
</ul>
</body>
</html>