簡體   English   中英

如何在我的 ejs 腳本標簽中使用在 server.js 中創建的變量?

[英]How can I use a variable created inside server.js in my ejs script tag?

我正在構建我的第一個 NodeJS 項目,它有很多文件管理功能。 我認為為了讓我的生活更輕松,在我的一個 ejs 文件中存在的腳本標記內獲取在我的 server.js 中創建的傳遞變量將是有益的。 這是我想要使用的代碼示例:

// My server.js file - I want to use the variable "files" inside my ejs script tag
app.get('/feed', (req, res) => {
    let files = fs.readdirSync("./uploads");
    res.status(200).render('feed', {files});
});
// My ejs file - this is what I found on Google and tried, yet it did not work
    <% let f = files %>
  </body>
  <script>
    let getFiles = <%= f %>;

有沒有辦法實現我想要的? 任何幫助都會有所幫助!!

因此,為了使用在前端創建的服務器端變量,您需要將其作為道具傳遞。

要在 express 中將 props 傳遞給視圖,我們在 res.render 方法中傳遞一個對象作為第二個參數:

我們不能只傳入一個變量或其他東西作為道具。 我們需要先重新分配它們。

res.render(view, {
  prop1: value,
  prop2: newValue,
});

在這里,我們分別將 value 和 newValue 重新分配給 prop1 和 prop2。

所以,你的問題的解決方案,

res.status(200).render('feed', {f: files})

在這里,我們簡單地獲取 files 變量並將其作為 prop 傳遞,將其重新分配給名稱 f。 我們可以通過以下方式在我們的視圖中使用它:

<% files %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM