-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot read property 'factory' of undefined #63
Comments
Moved to top level config and now it's working. Huh. |
Looks like the "inline" module options are handled differently / wrongly |
Hello! (node:36814) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'factory' of undefined
at ModuleContainer.feed (/company-site/node_modules/@nuxtjs/feed/lib/module.js:24:27)
at ModuleContainer.addModule (/company-site/node_modules/@nuxt/core/dist/core.js:235:34)
at /company-site/node_modules/@nuxt/utils/dist/utils.js:1846:43
at async ModuleContainer.ready (/company-site/node_modules/@nuxt/core/dist/core.js:55:5)
at async Nuxt._init (/company-site/node_modules/@nuxt/core/dist/core.js:715:5)
(Use `node --trace-warnings ...` to show where the warning was created)
I cannot create a sandbox, because of the project size. I am sharing the approach we are taking, which is the next best thing I can do. Any help to understand the issue/ solve it will be greatly appreciated! Thank you! const create = async (feed, [ stories, locale ]) => {
feed.options = {
title: "Blog",
link: `${env.baseUrl}${locale}.rss`,
description: "description"
}
for (const post of stories) {
try {
const cardImage = isObject(post.content.cardImage) ? post.content.cardImage.filename : post.content.cardImage
let transformedImage = ""
if (isString(cardImage)) {
transformedImage = storyblokImageTransform(cardImage, { width: 600, height: 0 })
}
feed.addItem({
title: post.content.pageTitle,
link: `${env.baseUrl}blog/${post.slug}/`,
description: post.content.pageByline,
image: transformedImage,
date: new Date(post.published_at)
})
} catch (error) {
showMessage(`[RSS Feeds generation] Failed to add item to RSS: ${error}`, { type: "error" })
}
}
}
const feed = async () => {
const feeds = []
const locales = ["en"]
showMessage("[RSS Feeds generation] Starting")
for (let locale of locales) {
try {
// Get all elements needed for the feed in this locale
const { data } = await storyblok.get("cdn/stories", {
starts_with: `${locale}/blog`,
stories_only: true,
is_startpage: 0,
per_page: PER_PAGE,
filter_query: {
component: {
in: 'CBlogPost'
}
}
})
feeds.push({
path: `/rssfeeds/${locale}/blog/all.rss`,
cacheTime: 1000 * 60 * 15,
type: "rss2",
create,
data: [data.stories, locale]
})
} catch (error) {
showMessage(`[RSS Feeds generation] Failed to generate RSS: ${error}`)
}
}
showMessage("[RSS Feeds generation] Ended")
return feeds
}
const modules = [
...
"@nuxtjs/feed" // Side question: We used to have the module in "buildModules". But In your docs it appears in `modules` in all cases. Does it alter the result where to use it when it's only needed during `nuxt generate` ?
]
module.exports = {
...,
modules,
feed
} |
What is wrong with this config? it follows the docs but i get:
The text was updated successfully, but these errors were encountered: