Для всех, кто придет к этой проблеме и задастся вопросом, что имел в виду @cerulean в его ответе .
1), используйте require
вместо import
NextJSне переносить ваши модули, если вы используете пользовательский сервер ( больше информации ).Поэтому вы не можете использовать import
в своей конфигурации next-i18next , не пройдя сквозь слезы.
// NextI18NextConfig.js
const NextI18Next = require('next-i18next/dist/commonjs')
module.exports = new NextI18Next({
defaultLanguage: "en",
otherLanguages: ["de"]
// ... other options
});
// server.js
const nextI18next = require("./path/to/NextI18NextConfig");
// ... the rest of your server.js code
Это сочетание и совпадение с next-i18next пример и документация
2) сохранить pageProps
как есть
Вы не можете играть слишком много с getInitialProps
возвращаемое значение.Если вам нужно добавить дополнительные материалы, вы должны быть осторожны, не заменяя и не манипулируя pageProps
.См. Ниже.
static async getInitialProps({ Component, ctx }) {
let pageProps = {}
const extraStuff = doSomeExtraStuff()
if (Component.getInitialProps) {
pageProps = await Component.getInitialProps(ctx)
}
return { pageProps, extraStuff }
}
Подробнее об этом на этой теме .