我正在使用JS代码在lambda中构建alexa技能。 我有 2个文件。一个具有用于alexa技能的常规代码,第二个文件具有一个数组,该数组包含我触发Inttent时需要的数据。
¿我必须使用什么代码才能使alexa从第二个文件中读取数组数据?
文件1
let CountryInfoSlot = resolveCanonical(this.event.request.intent.slots.CountryInfo);
console.log (CountryInfoSlot);
CountryInfoSlot = CountryInfoSlot.toLowerCase();
if (CountryInfoSlot == 'France'){
var FranceInfo = require ('/FranceInfo.js');
var N = FranceInfo.length;
var index = Math.round(Math.random()*(N-1));
var answer = FranceInfo[index];
this.response.speak(answer);
this.emit(':responseReady);
}
文件2
var FranceInfo = [
'The language spoken in France is french',
'Paris is the capital of France',
];
答案 0 :(得分:0)
您可以使用fs
进行读取,并将值作为数组存储在第二个文件中,然后在第一个文件中进行解析。
OR
由于您在第一个文件中使用了require
,因此请在第二个文件的末尾使用module.exports = FranceInfo
,以便可以将其加载到第一个文件中
答案 1 :(得分:0)
您必须更改信息文件才能导出数据。更改文件2以这样导出您要访问的变量:
var FranceInfo = [
'The language spoken in France is french',
'Paris is the capital of France',
];
module.exports.data = FranceInfo;
然后您可以在第一个文件中要求该变量,如下所示:
const FranceInfoData = require('./FranceInfo');
var FranceInfo = FranceInfoData.data;
那么您的FranceInfo变量将等于外部文件中的数组。
这不是唯一的方法,但这是最简单的方法之一。