如何在电子中的链接 javascript 文件中获取传递给 ejs 的变量值

How to obtain values of variables passed to ejs in a linked javascript file in electron

我正在尝试构建一个电子应用程序。 EJS 文件具有从主进程传递给它的变量值。我想在链接到渲染器进程的 javascript 文件中获取这些变量。我尝试了以下方法:

<script>
    var details = <%= details %>
</script>

但是我收到一个错误 expression expected。 我怎样才能做到这一点?我是电子和 nodejs 的新手,感谢您的帮助。谢谢!

不要认为你需要使用任何装饰,因为你已经在 J​​S 中了。

试试这个: <script>console.log(details);</script>

查看生成的源代码。

如果 details 的值是,当您将其转换为字符串时,除了有效的 JS 语法之外的任何内容都会出错。

例如,如果 details = "Hello, world" 那么生成的 HTML 页面将如下所示:

<script>
    var details = Hello, world
</script>

这会将 Hello 视为变量名,然后出错。

您需要对数据进行编码

由于 JSON 被设计为 JS 文字语法的子集,您可以将其编码为 then,然后客户端 JS 解析器会将其转换回对象/字符串/它在第一名.

var details = <%- JSON.stringify(details) %>