#node.js #amazon-web-services #aws-lambda #alexa-skills-kit
#node.js #amazon-веб-сервисы #aws-lambda #alexa-skills-kit
Вопрос:
Я пытаюсь узнать, как перенести код SDK1 в SDK2, используя ask-sdk-v1adapter , я получаю TypeError: не удается прочитать свойство ‘locale’ неопределенного значения или ошибку инициализации модуля: TypeError. Я использовал простую программу Hello world, но все еще безуспешно. Любая помощь будет высоко оценена
Я уже установил необходимые зависимости . Упомянутый сайт является https://ask-sdk-for-nodejs.readthedocs.io/en/latest/ASK-SDK-Migration-Guide.html
'use strict';
const Alexa = require('ask-sdk-v1adapter');
exports.handler = function(event, context, callback) {
const alexa = Alexa.handler(event, context);
alexa.registerHandlers(handlers);
alexa.registerV2Handlers(HelloWorldIntentHandler);
alexa.execute();
};
const handlers = {
'LaunchRequest': function () {
this.emit('SayHello');
},
'SayHello': function () {
this.response.speak('Hello World!');
this.emit(':responseReady');
},
'AMAZON.CancelIntent': function () {
this.response.speak('Goodbye!');
this.emit(':responseReady');
},
'AMAZON.StopIntent': function () {
this.response.speak('See you later!');
this.emit(':responseReady');
}
};
const HelloWorldIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
amp;amp; handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntent';
},
handle(handlerInput){
const speechOutput = 'Hello, welcome to the test.I am working ';
return handlerInput.responseBuilder
.speak(speechOutput)
.reprompt()
.getResponse();
},
};
Комментарии:
1. Просто в стороне, эта документация не содержит подробностей о многих методах. Нравится диалоговое окно. Директивные методы упоминаются (почти незаметно) один раз в разделе о построении ответа, но вы должны обратиться к документации на AWS, чтобы действительно увидеть все, что вы можете с ними сделать.
2. Ваш повторный запрос пуст. Не знаю, связано ли это с этой конкретной ошибкой, но попробуйте добавить туда строку.
3. @dillon.harless, спасибо за ответ, но пробовал и с reprompt .. не получилось
4. Хммм. Есть ли что-то еще для ошибки?
5. В консоли разработчика alexa я получаю сообщение об ошибке, предоставленный объект не является допустимым шаблоном, когда я пытаюсь вызвать обработчик, написанный в формате sdk2, есть идеи, почему?