我正在尝试使用节点模块OPEN打开URL,但是它不起作用。我已经安装了Open,并且可以在节点模块文件夹中看到打开的模块。
下面是我的代码。
const open = require('open');
open('https://myurl');
我正在研究Microsoft bot框架。在AZURE中部署了代码。相同的代码在模拟器中运行,但在浏览器中不运行。
感谢您的帮助。
谢谢 Sanjeev Gautam
答案 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');
})();