【问题标题】:ReferenceError: algoliasearch is not definedReferenceError: algoliasearch 未定义
【发布时间】:2020-11-21 04:16:03
【问题描述】:

我正在尝试使用来自 algolia 的 Instantsearch.js 构建和 Algolia 系统,但是当我运行此代码时,我收到“ReferenceError:algoliasearch 未定义”错误。是因为我错过了一些进口吗? 我该如何解决这个问题?

index.html

<!DOCTYPE html>
<html>
    <head>
        <link rel="sytlesheet" src="https://cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.css">
        <link rel="stylesheet" href="style.css">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.css@7.3.1/themes/reset-min.css" integrity="sha256-t2ATOGCtAIZNnzER679jwcFcKYfLlw01gli6F6oszk8=" crossorigin="anonymous">
        
    </head>
    <body>
        <header>
            <div id="input-container">
                <input id="search-input" placeholder="Search for Products">
            </div>
        </header>
        <main>
            <div id="hits">

            </div>
            <div id="pagination">

            </div>
        </main>

    </body>
    <script src="https://cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.js"></script>
    <script src="app.js"></script>
</html>

app.js

const searchClient =  algoliasearch('', '');

const search = instantsearch({
    indexName: "users",
    searchClient,
    urlSync: true,
})

search.addWidgets([
    instantsearch.widgets.searchBox({
        container: "#search-input",
    }),

    instantsearch.widgets.hits({
        container: "#hits",
        hitsPerPage: 10,
        templates: {
            item: document.getElementById("hit-template").innerHTML,
            empty: "We didn't find any results for the search <em>\"{{query}}\"<em>"
        }
    }),
    
    instantsearch.widgets.pagination({
        container: "#pagination",
    }),
]);


search.start();

【问题讨论】:

    标签: javascript html algolia instantsearch.js


    【解决方案1】:

    看起来你的cdn脚本寄存器是umd模块,它在窗口中注册instantsearch对象而不是algoliasearch

    【讨论】:

    • 我该如何解决这个问题?
    • 看来你缺少这个脚本来加载algoliasearchcdnjs.com/libraries/algoliasearch
    • 将此行添加到我的 index.html "
    • 您可能需要自行检查上述两个脚本之间的版本以使其协同工作(但要避免版本冲突)
    • 我刚刚快速浏览了文档。在初始化步骤 community.algolia.com/instantsearch.js/v2/… 似乎没有名为 searchClient 的属性
    猜你喜欢
    • 2012-08-24
    • 2015-10-04
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多