我正在尝试通过Netlify部署Gatsby网站。我在Netlify上定义了与Algolia有关的以下环境变量:
并已按照以下步骤在gatsby-config.js文件中配置了插件:
const myQuery = `{
allContentfulArticle{
edges{
node{
title
articleBody{
json
}
}
}
}
}`
const queries = [
{
query: myQuery,
transformer: ({ data }) => data.allContentfulArticle.edges.map(({ node }) => node), // optional
// Array<String> overrides main match fields, optional
},
require('./src/utils/algolia'),
];
resolve: `gatsby-plugin-algolia`,
options: {
appId: process.env.GATSBY_ALGOLIA_APP_ID,
apiKey: process.env.ALGOLIA_ADMIN_KEY,
indexName: process.env.ALGOLIA_INDEX_NAME,
queries,
chunkSize: 10000, // default: 1000
},
我在.env文件中将环境变量定义为:
GATSBY_ALGOLIA_APP_ID=***APP ID HERE***
GATSBY_ALGOLIA_SEARCH_KEY=***SEARCH KEY HERE***
ALGOLIA_ADMIN_KEY=***ADMIN KEY HERE***
ALGOLIA_INDEX_NAME=Articles
CONTENTFUL_ACCESS_TOKEN=***ACCESS TOKEN HERE***
CONTENTFUL_SPACE_ID=***SPACE ID HERE***
这是try-catch函数,通过该函数我可以与Algolia一起获取我的文章:
require('dotenv').config();
(async () => {
const algoliasearch = require('algoliasearch')
const { createClient } = require('contentful')
const GATSBY_ALGOLIA_APP_ID = process.env.GATSBY_ALGOLIA_APP_ID
const ALGOLIA_ADMIN_KEY = process.env.ALGOLIA_ADMIN_KEY
const ALGOLIA_INDEX_NAME = process.env.ALGOLIA_INDEX_NAME
const space = process.env.CONTENTFUL_SPACE_ID
const accessToken = process.env.CONTENTFUL_ACCESS_TOKEN
const algoliaClient = algoliasearch(GATSBY_ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY)
const algoliaIndex = algoliaClient.initIndex(ALGOLIA_INDEX_NAME)
const ctfClient = createClient({
space,
accessToken,
})
try {
const { items } = await ctfClient.getEntries({
content_type: 'blogPost',
limit: 1000,
})
const posts = items.map((post) => ({
slug: post.fields.slug,
title: post.fields.title,
publishedDate: post.fields.publishedDate,
objectID: post.sys.id
}))
const indexedContent = await algoliaIndex.saveObjects(posts, true)
console.log('Indexed Content:', indexedContent)
}
catch (err) {
console.error(err)
}
})()
清除缓存后尝试部署网站时,我得到以下信息:
12:22:01 PM: Fetch Contentful data: 249.081ms
12:22:04 PM: success source and transform nodes - 2.765s
12:22:05 PM: success building schema - 0.907s
12:22:05 PM: success createPages - 0.070s
12:22:05 PM: success createPagesStatefully - 0.104s
12:22:05 PM: success updating schema - 0.042s
12:22:05 PM: success onPreExtractQueries - 0.002s
12:22:06 PM: success extract queries from components - 0.763s
12:22:06 PM: success write out redirect data - 0.002s
12:22:06 PM: success Build manifest and related icons - 0.217s
12:22:06 PM: success onPostBootstrap - 0.219s
12:22:06 PM: info bootstrap finished - 10.147s
12:22:06 PM: success run static queries - 0.034s - 10/10 295.41/s
12:22:06 PM: success run page queries - 0.076s - 18/18 235.88/s
12:22:06 PM: success write out requires - 0.005s
12:23:15 PM: success Building production JavaScript and CSS bundles - 68.334s
12:23:15 PM: success Rewriting compilation hashes - 0.002s
12:23:25 PM: { allContentfulArticle: { edges: [ [Object], [Object] ] } }
12:23:25 PM: { allContentfulCommercialServices: { edges: [ [Object], [Object] ] } }
12:23:25 PM: { allContentfulNewConstructionServices: { edges: [ [Object] ] } }
12:23:25 PM: {
12:23:25 PM: allContentfulResidentialServices: { edges: [ [Object], [Object], [Object] ] }
12:23:25 PM: }
12:23:25 PM: {
12:23:25 PM: allContentfulResidentialServices: { edges: [ [Object], [Object], [Object] ] },
12:23:25 PM: allContentfulCommercialServices: { edges: [ [Object], [Object] ] }
12:23:25 PM: }
12:23:25 PM: success Building static HTML for pages - 10.065s - 18/18 1.79/s
12:23:25 PM: Algolia: 2 queries to index
12:23:25 PM: error failed to index to Algolia. You did not give "query" to this query
12:23:25 PM: not finished onPostBuild - 0.260s
12:23:26 PM: Skipping functions preparation step: no functions directory set
12:23:26 PM: Caching artifacts
12:23:26 PM: Started saving node modules
12:23:26 PM: Finished saving node modules
12:23:26 PM: Started saving pip cache
12:23:26 PM: Finished saving pip cache
12:23:26 PM: Started saving emacs cask dependencies
12:23:26 PM: Finished saving emacs cask dependencies
12:23:26 PM: Started saving maven dependencies
12:23:26 PM: Finished saving maven dependencies
12:23:26 PM: Started saving boot dependencies
12:23:26 PM: Finished saving boot dependencies
12:23:26 PM: Started saving go dependencies
12:23:27 PM: Finished saving go dependencies
12:23:44 PM: Cached ruby version 2.7.1
12:23:44 PM: Error running command: Build script returned non-zero exit code: 1
12:23:44 PM: Failing build: Failed to build site
12:23:44 PM: failed during stage 'building site': Build script returned non-zero exit code: 1
12:23:44 PM: Finished processing build request in 4m25.658540703s
我假设构建脚本返回错误的原因是:
error failed to index to Algolia. You did not give "query" to this query
我很难理解此错误消息具体指的是什么。任何帮助将不胜感激。