如何从客户端 Javascript 文件中访问 Express app.locals 变量?

How can I access an Express app.locals variable from within a client-side Javascript file?

我是 Web 开发的新手,我正在开发一个用于教育目的的简单 Web 应用程序。我正在使用 Express、mongoDB 和 EJS。

我已经设置了一个正确呈现 ejs 文件的路由,并且从该文件中,我可以访问一个名为 currentUser 的值。我已经设置 res.locals 以便 currentUser 可用,并且我通过将其呈现为页面顶部的文本来仔细检查。

问题是我有一个 <script src="..."> 正在处理一些逻辑,并且在 new.ejs 文件的底部进行链接。我试图从该脚本中访问 app.locals.currentUser,但控制台给我一个未捕获的引用错误。脚本的其余部分是预期的 运行,但我只是弄清楚如何从其中访问 currentUser

我确定这是一个非常简单的问题,但我很遗憾找不到明显的答案。我在这里问是因为我已经搜索了几个小时,但我似乎无法以一种能给我一个我能理解的答案的方式来构建搜索查询。我怎样才能将该对象放入我的脚本中?

编辑:为清楚起见添加一些片段: 在 new.ejs 中,我有:

<div class="container">
   <h1 class="text-center"> Create new Request for <em><strong><%= currentUser.username %></strong></em> </h1>
   <div class="row justify-content-center">
       <div class="col-12 col-lg-4">
...
<script src="/javascripts/search.js"></script>

在顶部,用户名显示得很好。但是,在我的 search.js 中,我正在尝试调用

console.log("Username is: " + currentUser);

当然,这是行不通的。很明显,我将尝试以错误的方式访问 currentUser,但我似乎无法弄清楚如何修复它。

使用此 library 设置 cookie:

以防万一有人发现自己在这里,我要找的是以下内容:

<script src="/javascripts/search.js" currentUserId=<%= currentUser._id %> currentUserName=<%= currentUser.username %>></script>