Azure函数:如何在WebStorm中进行debugging?

azure-functions-cli 提供了一种启动debugging的方法 ,但是这些说明似乎是特定于Visual Studio的。

我尝试在WebStorm中设置一个运行configuration文件来指向JavaScript文件:

\node_modules\azure-functions-cli\lib\main.js

然后传递应用程序参数:

run myFunctionName --debug

这成功地运行了Azure工具的function,但WebStorm都尝试设置一个debugging端口; 当Azure窗口打开时,它会设置自己的debugging端口。

从Webstorm:

C:\Program Files (x86)\JetBrains\WebStorm 2016.2.3\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=60168 --expose_debug_as=v8debug C:\Users\username\AppData\Roaming\npm\node_modules\azure-functions-cli\lib\main.js run myfunction --debug Debugger listening on [::]:60168 System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException:

同样,Azure-cli说它打开一个debugging端口,但它们不匹配。

因此,调用函数时会忽略断点(尽pipe它成功运行)。

任何人都知道如何正确configuration这个能够使用WebStorm进行debugging?

好吧,看起来你不能用本地debugging来做到这一点,但是可以在WebStorm中使用“远程debugging”。

  1. 在“运行”>“编辑configuration”的“WebStorm”中,创build一个新的“Node.JS远程debugging”。
  2. 给debugging一些types的名称。
  3. 点击+符号,在“启动之前:外部工具”并select“运行外部工具”。
  4. 再次点击+符号并像屏幕截图一样填充它(假设您全局安装了AzurefunctionCLI)。 在这里输入图像说明

注:上面的屏幕截图已根据最新版本的AzurefunctionCLI /更新。 以前的版本要求你声明一个应用程序名称,并且不需要–debug来debugging。 因此,如果未更新到最新版本的AzurefunctionCLI(现在称为Azure-Functions-Core-Tools),则可能需要在“参数”字段中“运行MyApp”。

  1. 在WebStorm内selectRun-> Debug:“What_You_Named_the_Remote_Profile”

  2. 添加一些断点。

  3. 导航到您的API端点,并看到的中断点工作。

注:默认情况下,该函数将显示在http:// localhost:7071 / api / functionName