【问题标题】:How do you call a node.js function from a HTML page?如何从 HTML 页面调用 node.js 函数?
【发布时间】: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


【解决方案1】:

总结来自 Pogrindis 的 cmets 以供其他社区参考:

Node 是后端业务逻辑,HTML 是前端,因此与 Node 中的方法没有直接通信。我们可以实现一些像express 这样的网络服务器来允许对节点服务器进行http 调用,然后我们可以从那里调用业务逻辑。而对于服务总线的错误,我们需要实现ServiceBusClientOptions接口。

【讨论】:

    【解决方案2】:

    要在网站上使用 Azure SDK 库,您需要将代码转换为在浏览器中工作。您可以使用打包工具(例如 rollup、webpack、parcel 等)执行此操作。请参阅此 bundling docs 以在浏览器中使用 @azure/service-bus 库。

    此外,您的示例中的代码看起来使用的是版本 1。

    最近发布了 7.0.0 版。请参阅下面的链接。

    【讨论】:

      猜你喜欢
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多