首页 > 解决方案 > EJS 不在 forEach 函数中输出 HTML 标签

问题描述

我的问题是我试图为数组中的每个条目返回一些 HTML 代码。EJS 代码得到很好的解释,并且一切都很好地记录到控制台。

我遇到的问题是应该从数组中输出信息的 HTML 代码没有放在最终网站中。

我真的希望你能帮忙。

index.js

const express = require("express");
const github = require("github-api");
const fs = require("fs");

const app = express();
const port = 3000;

var config = JSON.parse(fs.readFileSync("config.json"));

var git = new github();


app.set("view engine", "ejs");

app.use(express.static("views"));

var repos = fs.readFileSync('./repos.txt', 'utf8').split('\n');


app.get("/", (req, res) => { 

    res.render("pages/index", {
        config: config,
        repos: repos,
        git: git
    })
})

app.listen(port, () => {
    console.log("Webserver started at https://localhost:" + port);
})

索引.ejs:

<% repos.forEach(line=> { %>
<% var data=line.split(":") %>
<% var repo=git.getRepo(data[0], data[1]) %>
<% repo.getDetails().then(function(resultDetails) { %>
<% console.log(resultDetails) %>
<h6><%= resultDetails.data.owner.login %></h6> <- Not being displayed
<% }) %>
<% }) %>

如您所见,应该显示数组数据的地方有很多可用空间

如您所见,应该显示数组数据的地方有很多可用空间。

编辑:

当我将html标签直接放在for-each标签之后时,一切正常。当标签位于 .then-function 中时,不会显示任何内容。

我真的希望你们能帮助我。提前致谢

标签: htmlnode.jsexpressejs

解决方案


推荐阅读