gpt4 book ai didi

node.js - 向客户端公开 Node.js 变量

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:52 25 4
gpt4 key购买 nike

我想向客户端公开一个node.js 服务器变量。我正在努力让快速暴露工作。我不知道如何初始化和使用该库。

在express-expose指南中,用法没有意义

var express = require('express');
var expose = require('express-expose');
app = expose(app);
app.expose(...);

如何在初始化之前在“expose(app”) 中使用应用程序?

我用过

const app = expose(express());
app.expose('var some = "variable";','head');

但这似乎也不起作用。

任何人都可以向我提供一个初始化 express-expose 库并将 var 'some' 导出到客户端的示例吗?

(通过向客户端公开,我的意思是它将作为全局变量可供我的所有 javascript 文件使用,以便我可以执行“console.log(some);”并打印其值)

最佳答案

使用哈巴狗

由于您将 ExpressPug 一起使用,因此您只需调用 res.render函数并给它你想要的变量。以下是如何做到这一点。

假设您有一个名为 index.pug 的模板,它可能如下所示:

html
head
title= title
body
h1= message

在您的服务器上,负责渲染的代码应如下所示。在本例中,我们将 someVariable 传递给需要渲染的 View 。

const someVariable = 'hello world!';

app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: someVariable })
})

关于 express-expose 的说明

express-expose 库未得到维护,并且5 年来未更新。我的建议是按照前面的描述渲染变量或者只使用 AJAX 请求。

使用全局变量的注意事项

I am using the 'pug' view engine. It is passed to the view but I want it as a global javascript variable.

更好的主意是使用 Template Inheritence创建“通用布局”并根据需要扩展它们。如果您在后端更改全局变量,则与正在渲染的文件共享全局变量不会在前端神奇地更新它。即使变量是全局的。

如果您想反射(reflect)“实时变化”,您应该查看 Socket.io .

关于node.js - 向客户端公开 Node.js 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55321014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com