html - 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 中时,不会显示任何内容。
我真的希望你们能帮助我。提前致谢