运行 节点 index.js 什么都不做
Running node index.js does nothing
我正在尝试按照有关设置 algolia 的简单教程进行操作,您可以在此处找到该教程。
https://www.algolia.com/doc/tutorials/indexing/3rd-party-service/firebase-algolia/
我逐字逐句地将代码复制到 index.js 文件中。
当我在我的终端中 运行 节点 index.js 我得到这个
没有成功信息。阿尔及利亚什么都没有。没有什么。我已经包含了我的代码,是否有人注意到我可能做错了什么。这让我沮丧了几个小时。
const algoliasearch = require('algoliasearch');
const dotenv = require('dotenv');
const firebase = require('firebase');
// load values from the .env file in this directory into process.env
dotenv.load();
// configure firebase
firebase.initializeApp({
databaseURL: process.env.FIREBASE_DATABASE_URL,
});
const database = firebase.database();
// configure algolia
const algolia = algoliasearch(
process.env.ALGOLIA_APP_ID,
process.env.ALGOLIA_API_KEY
);
const index = algolia.initIndex(process.env.ALGOLIA_INDEX_NAME);
// Get all contacts from Firebase
database.ref('/events').once('value', event => {
console.log('index is', index);
// Build an array of all records to push to Algolia
const records = [];
event.forEach(event => {
// get the key and data from the snapshot
const childKey = event.key;
const childData = event.val();
// We set the Algolia objectID as the Firebase .key
childData.objectID = childKey;
// Add object for indexing
console.log('child data is', childData);
records.push(childData);
});
// Add or update new objects
index
.saveObjects(records)
.then(() => {
console.log('records are', records);
console.log('Events imported into Algolia');
})
.catch(error => {
console.error('Error when importing events into Algolia', error);
process.exit(1);
});
});
我已按照教程中的所有步骤进行操作。我什至 运行 每次我 运行 节点 index.js 无论我做什么都没有任何反应
再看一遍:
https://www.algolia.com/doc/tutorials/indexing/3rd-party-service/firebase-algolia/
它说首先你需要安装这些模块:
npm install dotenv --save
npm install algoliasearch --save
npm install firebase --save
然后设置你的环境变量:
export ALGOLIA_APP_ID=<algolia-app-id>
export ALGOLIA_API_KEY=<algolia-api-key>
export ALGOLIA_INDEX_NAME='contacts'
export FIREBASE_DATABASE_URL=https://<my-firebase-database>.firebaseio.com
尝试这些方法,如果您仍然一无所获,那么我认为您必须从某处发出或调用“/events”事件来控制 console.log('index is', index);
部分。
问题与数据库有关link。
检查 FIREBASE_DATABASE_URL 的 .env 文件中的值,它应该是这样的: https://test123-dsacb.firebaseio.com
发生在我身上,问题是我实际上没有保存 index.js 文件。一旦我保存它,它就起作用了。
我正在尝试按照有关设置 algolia 的简单教程进行操作,您可以在此处找到该教程。
https://www.algolia.com/doc/tutorials/indexing/3rd-party-service/firebase-algolia/
我逐字逐句地将代码复制到 index.js 文件中。
当我在我的终端中 运行 节点 index.js 我得到这个
没有成功信息。阿尔及利亚什么都没有。没有什么。我已经包含了我的代码,是否有人注意到我可能做错了什么。这让我沮丧了几个小时。
const algoliasearch = require('algoliasearch');
const dotenv = require('dotenv');
const firebase = require('firebase');
// load values from the .env file in this directory into process.env
dotenv.load();
// configure firebase
firebase.initializeApp({
databaseURL: process.env.FIREBASE_DATABASE_URL,
});
const database = firebase.database();
// configure algolia
const algolia = algoliasearch(
process.env.ALGOLIA_APP_ID,
process.env.ALGOLIA_API_KEY
);
const index = algolia.initIndex(process.env.ALGOLIA_INDEX_NAME);
// Get all contacts from Firebase
database.ref('/events').once('value', event => {
console.log('index is', index);
// Build an array of all records to push to Algolia
const records = [];
event.forEach(event => {
// get the key and data from the snapshot
const childKey = event.key;
const childData = event.val();
// We set the Algolia objectID as the Firebase .key
childData.objectID = childKey;
// Add object for indexing
console.log('child data is', childData);
records.push(childData);
});
// Add or update new objects
index
.saveObjects(records)
.then(() => {
console.log('records are', records);
console.log('Events imported into Algolia');
})
.catch(error => {
console.error('Error when importing events into Algolia', error);
process.exit(1);
});
});
我已按照教程中的所有步骤进行操作。我什至 运行 每次我 运行 节点 index.js 无论我做什么都没有任何反应
再看一遍:
https://www.algolia.com/doc/tutorials/indexing/3rd-party-service/firebase-algolia/
它说首先你需要安装这些模块:
npm install dotenv --save
npm install algoliasearch --save
npm install firebase --save
然后设置你的环境变量:
export ALGOLIA_APP_ID=<algolia-app-id>
export ALGOLIA_API_KEY=<algolia-api-key>
export ALGOLIA_INDEX_NAME='contacts'
export FIREBASE_DATABASE_URL=https://<my-firebase-database>.firebaseio.com
尝试这些方法,如果您仍然一无所获,那么我认为您必须从某处发出或调用“/events”事件来控制 console.log('index is', index);
部分。
问题与数据库有关link。 检查 FIREBASE_DATABASE_URL 的 .env 文件中的值,它应该是这样的: https://test123-dsacb.firebaseio.com
发生在我身上,问题是我实际上没有保存 index.js 文件。一旦我保存它,它就起作用了。