Я не совсем уверен, как делать именно то, что вы хотите, но взгляните на это:
Во-первых, вместо того, чтобы создавать массив из HTML элементов, как насчет создания массива объектов, например:
const articles = [{text: "first text"} , {text: "second text"}, {text: "third text"}];
таким образом вам просто нужно написать HTML один раз, и я новичок в программировании, но я не вижу сценария, при котором вы бы получили ответ в HTML, обычно вы запрашиваете данные в базе данных или из файла JSON ... и, предполагая, что массив фактически передается в файл .e js, можно выполнить итерацию через него,
<% for(let a of articles){ %>
<p> <%= a.text %> </p>
</br>
<% } %>
Если массив НЕ передается, проверьте их в своем коде:
// If you installed
..."dependencies" : {
"ejs": "x.x.x",
} //Check the package.json file
// If you imported correctly
import ejs = require("ejs");
// If you specified the views path
app.set("views", path.join(__dirname, "views"));
// And the views engine
app.set("view engine", "ejs");
// And your route
request.render('viewArticles',{ articles : articles }) // Check if the file name is correct, I get this wrong many times