【发布时间】:2021-01-11 16:45:45
【问题描述】:
我正在学习 node.js 和 Azure 服务总线教程。 我可以将以下内容作为节点应用程序运行,但是,我正在努力从我的 HTML 页面调用节点函数:
请注意,节点 http-server 模块已正确加载所有文件,但是,当我调用 main 函数时,出现以下错误:
ReferenceError: ServiceBusClient is not defined
Node.js 函数:
const { ServiceBusClient } = require("@azure/service-bus");
// Define connection string and related Service Bus entity names here
const connectionString ="";
const queueName = "";
async function main() {
const sbClient = ServiceBusClient.createFromConnectionString(
connectionString
);
const queueClient = sbClient.createQueueClient(queueName);
const sender = queueClient.createSender();
try {
for (let i = 0; i < 1; i++) {
const message = {
body: "{}",
label: "Contact",
userProperties: {
myCustomPropertyName: "my custom property value",
},
};
console.log(`Sending message: ${message.body}`);
await sender.send(message);
}
await queueClient.close();
} finally {
await sbClient.close();
}
}
main().catch((err) => {
console.log("Error occurred: ", err);
});
非常感谢任何帮助。
【问题讨论】:
-
Node 是后端业务逻辑,HTML 是前端,因此与 Node 中的方法没有直接通信。您可以实现一些 web 服务器,如
express以允许进行 http 调用到节点服务器,然后你可以从那里调用你的业务逻辑.. -
注意:我不确定是否 100% 使用 ServiceBus,但似乎有一个 websocket 接口可供您查看:docs.microsoft.com/en-us/javascript/api/@azure/service-bus/…
-
谢谢 - 这就是答案。
标签: javascript node.js ecmascript-6 node-modules azureservicebus