图像 link 与 ejs 语法的连接?

image link concatenation with ejs syntax?

我正在尝试在 .ejs 文件中构建 <img src= link 串联。 link 的一部分来自 json 文件,构建在我的 .js 文件中。

图像将显示在我的网站上。

也许只是语法问题,我对这个话题很陌生。

我尝试添加 <%= user.thumbnail%>

<p class="name">Name: <%= user.name %></p> // to get the name, this is working

<p class="thumbnail"><img src="https://website/character/ + <%= user.thumbnail%> "></p>   // is not working

<p class="thumbnail"><img src="https://website/character/ + '<%= user.thumbnail%>'"></p>   // is also not working

感谢您的帮助:)

编辑:

index.js:

var last = "last/part/oflink.jpg";
var thumbnail= "https://firstpartoflink/character/" + last;

我只想在ejs文件中显示图片,比如

index.ejs:

<p class="thumbnail"><img src="  SyntaxToGetThumbnailVar  " /> </p>

如果我没理解错的话,最后的link由来自不同来源的两个变量组成:

  1. 控制器
  2. json 文件

从控制器传递到视图的变量由 EJS 通过 <% variable %> 解释。另一方面,我正在考虑从客户端读取 json 文件。因此,它们在不同的时刻被解释。 可能你有这样的事情:

// Controller
res.render("myView", { user: { thumbnail: 'partial-path' }});

// View
<html>
    ...
    <p class="thumbnail"><img src="https://website/character/<%= user.thumbnail %>"></p>
    ...
    <script src="myJson.js"></script>
    ...
</html>

一个可能的解决方案是在渲染时隐藏图像并使用 JavaScript 从 JSON 文件中获取 link 的最后一部分。之后只需将 src 设置为最终的 link:

<html>
    ...
    <p class="thumbnail"><img id="someId" style="display: none" src="https://website/character/<%= user.thumbnail %>"></p>
    ...
    <script src="myJson.js"></script>
    <script>
        var linkPart = myJsonObj.someProperty;
        var el = document.getElementById('someId');
        el.src = el.src + linkPart;
        el.style.display = '';
    </script>
    ...
</html>

希望能帮到您解决问题;)

这对我有用:

index.js:

.get('/', (req, res) => {
    var data = { 'user': { 
        'thumbnail' : g_chardata.thumbnail
    } 
     };
   res.render('index', data)
}) 

index.ejs:

<!-- Build Image Link from Json and string -->
        <p id="image" style="display: none"><%= user.thumbnail %></p>

        <script type="text/javascript">
        window.onload = function()
        {
            var pic = document.getElementById("image").innerText;
            document.getElementById('thumbnail').src = 'https://link.com/character/' + pic;
        };
        </script>
        <!-- Show Thumbnail Bild -->
        <img src="" id="thumbnail"/>

祝你愉快:)