Позвоните в поисково-аналитическую библиотеку Алголии - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь реализовать библиотеку Search-Insights из algolia с React и устанавливаю ее с npm, а не просто добавляю в заголовок, как описано в этом примере.


Реактивная реализация пример

https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/react/

<script>
  var ALGOLIA_INSIGHTS_SRC = "https://cdn.jsdelivr.net/npm/search-insights@1.3.1";

  !function(e,a,t,n,s,i,c){e.AlgoliaAnalyticsObject=s,e[s]=e[s]||function(){
  (e[s].queue=e[s].queue||[]).push(arguments)},i=a.createElement(t),c=a.getElementsByTagName(t)[0],
  i.async=1,i.src=n,c.parentNode.insertBefore(i,c)
  }(window,document,"script",ALGOLIA_INSIGHTS_SRC,"aa");

  // Initialize library
  aa('init', {
    appId: 'APPLICATION_ID',
    apiKey: 'SEARCH_API_KEY'
  });
</script>


Использование NPM / пряжа

https://www.algolia.com/doc/guides/getting-insights-and-analytics/personalization/personalizing-results/how-to/send-personalization-events-with-instantsearch/js/#install -the-search-insights-library

На мой вопрос, как мне использовать функцию init с реагировать? Я пробовал что-то вроде этого

import searchInsights from "search-insights";

class LiveSearch extends React.Component {
  componentDidMount() {
    const appId = config.get("services.algolia.appId.live");
    const apiKey = config.get("services.algolia.apiKey.live");

    searchInsights("init", {
      appId: appId,
      apiKey: apiKey,
    });
  }
}

Я получаю эту ошибку

TypeError: search_insights__WEBPACK_IMPORTED_MODULE_23 ___ default (...) не является функцией

1 Ответ

0 голосов
/ 08 апреля 2020

Как только вы импортируете информацию для поиска, init становится доступной как свойство. Поэтому что-то вроде ниже должно работать

searchInsights.init({
   appId: "appId",
   apiKey: "apiKey",
});
...