节点模块“打开”未打开URL

时间:2019-09-15 10:23:38

标签: node.js botframework bots node-modules

我正在尝试使用节点模块OPEN打开URL,但是它不起作用。我已经安装了Open,并且可以在节点模块文件夹中看到打开的模块。

下面是我的代码。

const open = require('open');

 open('https://myurl');

我正在研究Microsoft bot框架。在AZURE中部署了代码。相同的代码在模拟器中运行,但在浏览器中不运行。

感谢您的帮助。

谢谢 Sanjeev Gautam

3 个答案:

答案 0 :(得分:2)

在构建机器人(或实际上是任何Web应用)时,重要的是要考虑到两个方面:服务器和客户端。连接到仿真器后,您将在本地运行bot,因此服务器在本地运行。部署漫游器后,服务器将在Azure中运行,并且不再有权访问用户的计算机。

查看您的代码,您是在漫游器端或服务器端(而不是客户端)上调用open('https://myurl')。当漫游器在本地运行时,服务器会打开您计算机上的网页,因此一切似乎都正常运行,但是当它在Azure上运行时,它将尝试在用户无法访问的Azure中打开网页。

不幸的是,您无法从服务器控制客户端的行为,因此您将必须发送带有开放url操作的card或将链接发送给用户以进行跟踪。

答案 1 :(得分:0)

那是因为您似乎忽略了他们的文档,而忽略了返回的承诺。

像这样使用它

const open = require('open')

console.log(await open('http://www.stackoverflow.com'))

我是否需要提及它应该在异步功能中运行? :)

答案 2 :(得分:0)

根据官方文档的使用情况:https://www.npmjs.com/package/open

const open = require('open');

(async () => {

    // Opens the URL in the default browser
    await open('https://sindresorhus.com');

})();