我正在尝试实现一个谷歌云功能来搜索我的 Firestore 数据库中的文本。我正在关注的示例在这里:https://firebase.google.com/docs/firestore/solutions/search?provider=algolia。当我尝试部署我的函数时,出现以下错误:
ReferenceError: algoliasearch is not defined
我尝试运行成功执行的 npm install algoliasearch
但是我得到了同样的错误。
这是位于我的函数文件夹中的 package.json
文件中的依赖项:
"dependencies": {
"@google-cloud/vision": "^2.3.7",
"algoliasearch": "^4.10.3",
"bad-words": "^3.0.4",
"child-process-promise": "^2.2.1",
"firebase-admin": "^9.8.0",
"firebase-functions": "^3.14.1",
"mkdirp": "^1.0.4"
},
这是导致错误的代码:
// Initialize Algolia, requires installing Algolia dependencies:
// https://www.algolia.com/doc/api-client/javascript/getting-started/#install
//
// App ID and API Key are stored in functions config variables
const ALGOLIA_ID = functions.config().algolia.app_id;
const ALGOLIA_ADMIN_KEY = functions.config().algolia.api_key;
const ALGOLIA_SEARCH_KEY = functions.config().algolia.search_key;
const ALGOLIA_INDEX_NAME = 'usernames';
const client = algoliasearch(ALGOLIA_ID, ALGOLIA_ADMIN_KEY);
algoiasearch
不是用户定义的函数。
答案 0 :(得分:2)
看起来您根本没有导入/需要 algoliaSearch
。您的函数代码应该在顶部有类似
const algoliaSearch = require('algoliasearch')
// ...rest of your code
参见指南 https://www.algolia.com/doc/api-client/getting-started/instantiate-client-index/
答案 1 :(得分:1)
根据MDN,
<块引用>当引用不存在的变量时,ReferenceError 对象表示错误。
因为您没有像文档那样导入它,所以也缺少导入。
import algoliasearch from "algoliasearch"