将chatbot部署到Azure后,npm模块'openurl'无法正常工作

时间:2018-01-18 15:28:34

标签: node.js azure npm botframework

我正在使用MS bot框架中的node.js开发chatbot开发。

我需要在对话期间打开网页。我使用了openurl npm模块,该模块在本地环境中成功运行。从GitHub存储库部署到Azure后,该功能无法正常工作。

请您告诉我任何解决方案或解决方法吗? 我也使用其他模块,如system-sleep,但我面临同样的问题。简而言之,安装后所有自定义模块在部署到Azure后都无法运行。

var openurl = require('openurl');
var sleep = require('system-sleep');
openurl.open("https:google.com")
sleep(10);

1 个答案:

答案 0 :(得分:1)

虽然大多数模块只是纯文本JavaScript文件,但某些模块是特定于平台的二进制映像。这些模块在安装时编译,通常使用Python和node-gyp Azure App Service不支持所有本机模块,并且在编译具有非常特定先决条件的模块时可能会失败。

说明来自Using Node.js Modules with Azure applications

根据我的经验,system-sleep模块在​​安装时需要Pythonnode-gyp

您可以尝试在本地环境中的Windows 32平台上安装模块,并使用包含已编译模块的node_modules文件夹将应用程序部署到Azure。

另一方面,您可以利用Azure App Service Editor安装那些只是在线纯文本JavaScript文件的库。