EJS 中具有特殊字符的对象属性

Object properties with special characters in EJS

我正在编写一个网站,其中的语言文件如下所示:

replace = {
    "x:a": "Hello",
    "x:b": "World!",
    "y:c.d": "Another text"
}

现在我想将此对象传递到我的快递页面(使用 EJS)以替换模板占位符:

app.js

res.render('index.ejs', replace)

index.ejs

<html>
    <head>
    </head>
    <body>
         <%= x:a %>
         <%= x:b %>
         <%= y:c.d %>
    </body>
</html>

但显然这不起作用,因为 x:a 不是有效名称,所以我如何在我的 index.ejs 中调用这些名称?

传递一个对象,然后访问它的属性。

res.render('index.ejs', { replace })

     <%= replace['x:a'] %>
     <%= replace['x:b'] %>
     <%= replace['y:c.d'] %>