问题描述
我有一个基于next的项目,并使用i18next包进行了反应,我遇到以下警告,我认为这是为什么根据react profiler加载i18n需要花费大量时间的原因:
您尚未在页面级上声明namespacesrequired数组 组件:withI18nextTranslation(Error)。这将导致所有 命名空间要向下发送给客户端 影响您应用的性能。有关更多信息,请参见: https://github.com/isaachinman/next-i18next#4-declaring-namespace-dependencies
notes:翻译工作正常,我在除404之外的所有组件中都声明了namespacesrequired。
这是我的i18n配置:
const NextI18Next = require('next-i18next').default
const { localeSubpaths } = require('next/config').default().publicRuntimeConfig
const path = require('path');
module.exports = new NextI18Next({
preload: ['fa'],defaultLanguage: 'fa',otherLanguages: ['en','ar'],localeSubpaths,localePath: path.resolve('./public/static/locales'),localeStructure: '{{lng}}/{{ns}}',fallbackLng: 'fa',ignoreRoutes:['/_next/','/static/','/public/','/api/'],serverLanguageDetection: false,defaultNS: 'common',localeExtension: 'json'
});
next.config.js:
const { nextI18NextRewrites } = require('next-i18next/rewrites');
rewrites: async () => nextI18NextRewrites(localeSubpaths),publicRuntimeConfig: {
localeSubpaths
}
版本:
package.json:
"i18next": "^19.7.0"
纱线:
next-i18next@^6.0.2:
version "6.0.2"
dependencies:
"@types/express" "^4.16.1"
core-js "^3"
hoist-non-react-statics "^3.2.0"
i18next "^19.6.3"
i18next-browser-languagedetector "^5.0.0"
i18next-fs-backend "^1.0.7"
i18next-http-backend "^1.0.17"
i18next-http-middleware "^3.0.2"
path-match "^1.2.4"
prop-types "^15.6.2"
react-i18next "^11.7.0"
url "^0.11.0"
在server.js文件中与此无关。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)