我正在尝试在操作中添加一个列表,但显示出一些错误, 我无法识别。所以这是我的代码,此列表将添加到Google的Action中,可以当我尝试将此代码部署到Firebase中时使用它。请给我一些工具名称,让我可以在其中运行该代码
在Firebase中部署错误时,我会粘贴所有错误,所以如果有人可以帮助我解释该错误
26:23错误解析错误:意外的令牌;
✖1个问题(1个错误,0个警告)
npm错误!代码ELIFECYCLE
npm错误! errno 1
npm错误!功能@皮棉:eslint .
npm错误!退出状态1
npm错误!
npm错误!在functions @ lint脚本上失败。
npm错误! npm可能不是问题。上面可能还有其他日志记录输出。
npm错误!可以在以下位置找到此运行的完整日志: npm ERR! /home/vaibhav/.npm/_logs/2018-08-09T07_44_01_549Z-debug.log
错误:函数预部署错误:命令以非零退出代码1终止
'use strict'
const {dialogflow}=require('actions-on-google');
const functions = require('firebase-functions');
const app=dialogflow({debug : true });
app.intent('what is',(conv,{menu})=>
conv.ask("this is today's menu");
conv.ask(new List({
title : "Today's Menu",
items : {
[SELECTION_KEY_ONE]:{
synonyms:[
'show me Chinese',
'Chinese',
],
title : 'Chinese menu',
description : 'chow(30/-), manchurian(50/-),hakka chow(80/-)',
image : new Image({
url : 'ibb.co/jJHNMU',
alt : 'chinese food',
}),
}
[SELECTION_KEY_TWO]:{//showing error in this line near column
synonyms:[
'show me Veg',
'Veg',
],
title : 'Veg menu',
description : 'chow(30/-), manchurian(50/-),hakka chow(80/-)',
image : new Image({
url : 'ibb.co/jJHNMU',
alt : 'chinese food',
}),
},
},
} ));
);
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
答案 0 :(得分:0)
在部署功能之前运行eslint .
时,该工具将自动检查代码中与样式和功能有关的潜在问题。
看着错误26:23 error Parsing error: Unexpected token ;
,我看了看代码中的第26行,它似乎并没有用到一个指标:
image : new Image({
url : 'ibb.co/jJHNMU',
alt : 'chinese food',
}),
但是我确实在该节周围发现了一些可能导致此错误,甚至可能是错误的问题。
现在,列表中的每个项目都用[SELECTION_KEY_ONE]
表示。这意味着该对象将使用变量SELECTION_KEY_ONE
中的值作为键。该变量不存在,应引起错误。为了解决这个问题,您应该:
const SELECTION_KEY_ONE = 'one'
items: { 'one': { ...
首选第一个选项,因为您将能够将常量分离到逻辑位置并在所有地方重用它们。
另一个问题似乎是您的列表对象似乎提前关闭,从而导致潜在的语法错误。
items : {
[SELECTION_KEY_ONE]:{
synonyms:[
'show me Chinese',
'Chinese',
],
title : 'Chinese menu',
description : 'chow(30/-), manchurian(50/-),hakka chow(80/-)',
image : new Image({
url : 'ibb.co/jJHNMU',
alt : 'chinese food',
}),
}
[SELECTION_KEY_TWO]:{//showing error in this line near column
// ...
将JSON对象设置为一系列键值对,以逗号分隔。然后关闭。查看此代码段,似乎您在}
之后和[SELECTION_KEY_TWO]
之前没有逗号就关闭了第一项,从而导致错误。
顺便说一句,使用标识和间距可能更好地显示执行的层次结构。这样可以使您自己和他人的代码更具可读性,并可以更快地识别潜在错误。