如何调试无服务器框架插件?

How to debug a serverless framework plugin?

我搜索了整个 google 这个问题,但没有成功...

我想修复无服务器插件,但我不知道如何附加进程来调试代码。 目前,我正在使用 vscode 并且该插件是使用 nodejs + typescript 开发的。

有没有人有任何提示或文章解释如何做到这一点?

与您要调试的所有其他进程一样,您需要 运行 它并以某种方式将调试器连接到它。

你需要记住,Serverless Framework 是用 JS/TS 编写的,所以它 运行 在 Node.js 中。因此,如果您在 Node.js 中开发 Lambda,您可以很容易地调试它,因为它是很常见的环境。

如何使用 Jetbrains/Webstorm/IntelliJ

  1. 转到您的 node_modules 目录并找到您要调试的插件的源代码。
  2. 在源代码中放置断点。
  3. 现在在 IDE 中为 NPM 创建一个新的“运行 配置”,应该与我的类似:

4。确保您选择了正确的 package.json! 5. 现在像往常一样开始调试,但是选择您刚刚创建的 运行 配置。

在我的示例中,我使用了来自 package.json 的 package 脚本,但它也可以是任何其他脚本,最终会触发 serverless deployserverless print .

就是这样!断点应该正常触发,比如调试自己的JS代码。