使用Algolia Instant Search缺少“:”

时间:2018-06-25 22:28:09

标签: algolia instantsearch

SyntaxError: missing : after property id

我在Firefox(Mac)上使用Algolia Instant Search在控制台中看到此错误。据报告,IE11在视觉上显示相同的内容,但是,我不确定IE中的错误吗? Chrome和Safari均无错误。

当我反编译代码时,Firefox指出此行是罪魁祸首,但是,我不确定这是问题行吗?

const {container, placeholder, delayTime = 500, suggestionsIndex, mainIndex} = renderParams.widgetParams;

=====

更新

问题是关于delayTime的设置方式,尽管我不确定100%应该如何设置。短期而言,我不会像上面那样设置delayTime。相反,我注释掉了delayTime,并用500代替了它的位置。

1 个答案:

答案 0 :(得分:0)

InstantSearch文档提供的示例似乎使用了某些语法,这些语法可能在浏览器随附的JavaScript版本中不可用。

const {container, placeholder, delayTime = 500, suggestionsIndex, mainIndex} = renderParams.widgetParams;

等效于(在现代浏览器中):

const container = renderParams.widgetParams.container;
const placeholder = renderParams.widgetParams.placeholder;
const delayTime = renderParams.widgetParams.delayTime || 500;
const suggestionsIndex = renderParams.widgetParams.suggestionsIndex;
const mainIndex = renderParams.widgetParams.mainIndex;

解决这些浏览器差异问题的常见解决方案是使用Babeljs将JavaScript代码转换为当前可用JavaScript版本的最低公分母。起初,Babel的学习曲线可能会很陡峭,但这已成为运送适用于所有浏览器的代码的宝贵工具。