npm包alexa-pure-handlers使用教程

阅读时长 6 分钟读完

Alexa是Amazon公司旗下的语音助手,它能够帮助用户完成各种任务,例如播放音乐、查询天气等。开发Alexa技能需要使用Alexa Skill Kit(ASK)来完成,而ASK可以通过编写Alexa技能处理程序来实现。

npm包alexa-pure-handlers是一个开源的Alexa技能处理程序模板,模板使用了纯JavaScript,可以轻松地在Node.js上使用。在这篇文章中,我们将介绍如何使用npm包alexa-pure-handlers来开发Alexa技能,并提供一个示例代码。

安装和设置

使用npm包alexa-pure-handlers需要Node.js 8.x或更高版本。首先,我们需要在本地计算机上安装npm包alexa-pure-handlers:

安装完成后,我们需要在项目中创建一个名为config.js的文件,该文件包含我们Alexa技能的设置,如下所示:

下一步,我们需要创建一个名为app.js的文件,这将是我们Alexa技能的主要逻辑。在app.js中,我们需要导入alexa-pure-handlers和配置文件,并定义我们的Alexa技能处理程序。

-- -------------------- ---- -------
----- ----- - -------------------------------
----- ------ - --------------------

----- -------- - -
    -------------- -------- -- -
        ----- ------------ - ------ --------
        ------------------ --------------
    -
--

-------------- - ----------------------- --------

在上面的代码中,我们定义了一个名为LaunchRequest的处理程序,它将在用户启动Alexa技能时执行。在该处理程序中,我们向Alexa返回一个“Hello World!”的语音输出。我们还导出一个名为handle的函数,这可以将我们的Alexa技能处理程序传递给Alexa SDK。

最后,在项目根目录中使用以下代码即可部署Alexa技能:

示例代码

在这里,我们将使用Alexa技能处理程序来实现Alexa技能“Fact of the Day”。用户可以向Alexa询问当天的事实,并由Alexa播报答案。

首先,我们需要安装两个npm包:

然后,在config.js中添加以下行来将支持的调用名称添加到Alexa技能:

-- -------------------- ---- -------
-------------- - -
    ------ ----------------
    ------- ----------------------
    ------- ------------
    -------- -------------
    ----------- ------
    ------ -----
    ------------- -
        ---------- -
            - --------- --------------- -
        -
    --
    ----------------- -
        ---------------- -
            ----- -- - ------
            ----- -- --------- -------------
            ----- -- --- ------
            ------- --- ---- -- --- -----
            ----- -- --------- ----
        -
    -
--

在app.js中,我们需要使用axios npm包来获取当天的随机事实。然后,我们将使用moment npm包来格式化日期,在处理程序中使用。

-- -------------------- ---- -------
----- ----- - -----------------
----- ------ - ------------------

----- -------- - -
    -------------- -------- -- -
        ---------------------------
    --
    -------------- -------- -- -
        ----- ---- - --------------------- ----
        ------------------------------------------------
            -------------- -- -
                ----- ---- - --------------
                ------------------ ------
            --
            ------------ -- -
                ----- ------------ - -- -- ------ ------- ------- --- ---- -- --- ---- ------ --- ----- --------
                ------------------ --------------
            ---
    -
--

在上面的代码中,我们定义了一个名为GetFactIntent的处理程序。在该处理程序中,我们使用axios获取随机事实并使用emit向Alexa SDK返回响应。

结论

使用npm包alexa-pure-handlers可以轻松地编写Alexa技能处理程序。在本文中,我们详细介绍了如何使用npm包alexa-pure-handlers来开发Alexa技能,并提供了示例代码来实现Alexa技能“Fact of the Day”。我们希望这篇文章能够帮助你了解如何使用npm包alexa-pure-handlers编写高效可靠的Alexa技能处理程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005579d81e8991b448d49f7

纠错
反馈