如果我使用自己的端点,如何在节点js中使用ask-sdk?

时间:2019-07-16 09:14:55

标签: alexa alexa-skills-kit

我要创建自己的端点,这意味着不使用aws lambda函数。

我可以在节点js中使用ask-sdk和node js吗?

1 个答案:

答案 0 :(得分:0)

没有一个小解决方法,这仍然是不可能的-在GitHub上已经被问过几次了。

如果您使用的是express,则

This是可行的解决方案:

// When deploying to your own server (not Lambda)

const Alexa = require('ask-sdk');
const express = require('express');
const bodyParser = require('body-parser');

const app = express();

let skill;


app.use(bodyParser.json());
app.post('/', function(req, res) {

  if (!skill) {

    skill = Alexa.SkillBuilders.custom()
      .addRequestHandlers(
        HelloWorldHandler
      )
      .create();

  }

  skill.invoke(req.body)
    .then(function(responseBody) {
      res.json(responseBody);
    })
    .catch(function(error) {
      console.log(error);
      res.status(500).send('Error during the request');
    });

});

app.listen(3000, function () {
  console.log('Development endpoint listening on port 3000!');
});

可以也考虑使用alexa-js-他们开箱即用并提供了示例。