前言
在 Alexa 开发中,我们通常会使用 AWS Lambda 来处理 Alexa Skill Kit 请求。然而,如果在开发和测试阶段中频繁地上传和部署 Lambda 函数,会增加我们的开发难度和时间,也会造成 AWS 费用浪费。在本文中,我们将介绍如何使用 generator-alexa-local 包来解决这个问题。该包可以将本地模拟 AWS Lambda,并将请求发送到本地的 HTTP 服务器。
安装 generator-alexa-local
生成器是一个 npm 包,因此我们需要先安装 npm。如果您已经安装过 npm,可以执行以下命令来安装 generator-alexa-local:
npm install -g yo generator-alexa-local
使用 generator-alexa-local
生成项目
执行以下命令,使用 generator-alexa-local 生成一个新的 Alexa Skill 项目:
yo alexa-local
运行该命令后,会要求您输入一些设置,如项目名称和请求和响应的语言。完成后,generator-alexa-local 会根据您提供的信息生成一个新项目。
编写本地 Lambda 代码
在项目根目录中找到 index.js 文件。该文件是一个 Lambda 函数,我们可以在其中编写自己的代码。例如,以下代码片段定义了一个简单的 AWS Lambda 函数,用于回复“Hello World!”:
-- -------------------- ---- ------- ----- ----- - ------------------------ ----- -------------------- - - ----------------------- - ------ ----------------------------------------- --- ---------------- -- -------------------- - ----- ---------- - ------ -------- ------ ---------------------------- ------------------ ---------------------- ------- ----------- --------------- -- -- ----- ------------ - ----------------------------- --------------- - ------------ -------------------- --------------------- - ----------
启动本地服务器
执行以下命令,将本地 Lambda 函数和本地服务器打包并启动本地服务器:
npm start
测试 Alexa Skill
接下来,我们可以测试我们的 Alexa 技能。使用 ngrok 或其他本地服务器工具,将 localhost 的端口 3000 映射到互联网上,以便我们能够向 Alexa 发送请求。将生成的 URL 添加到 Alexa 开发者控制台中,以将测试请求发送到我们的本地服务器。
在 Alexa 应用程序中,在 Test 模式下说出激活语“打开<技能名称>”。如果一切正常,您将看到生成的响应“Hello World!”。
结论
通过使用 generator-alexa-local 包,我们可以将本地 Lambda 函数和本地服务器集成,以便更轻松地进行 Alexa 技能开发和测试。该功能不仅节约了时间和金钱,而且可以提高开发和测试的效率。我们希望这篇文章对您有所帮助。如果您有任何疑问或建议,请在评论区留言,我们将尽快回复。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600558cb81e8991b448d6157