当我使用i18 next(版本22.4.5
)执行以下代码(在services.formatter.add
)时,突然开始在运行时收到错误:"Uncaught TypeError: Cannot read properties of undefined (reading 'add')"
调试时,i18nextInstance
上的services
对象在初始化后为空({}
)(见屏幕截图),这将导致TypeError,但我无法找出为什么此对象现在为空。
const i18nextInstance = i18next.createInstance({
debug: true,
lng: currentLanguage,
fallbackLng: 'en-GB', // Fallback to English strings and don't show an error
fallbackNS: defaultNamespace, // Fallback for strings translated with `t`
defaultNS: defaultNamespace,
resources: resources
});
i18nextInstance.t('common:Hello World');
/**
* Formatter function for locale-specific relative time strings
*/
i18nextInstance.services.formatter.add('fromnow', (value: Date, lng, options): string => {
return timeAgo(value, lng);
});
上周我正在使用这个版本的软件包,它的功能和预期的一样--是什么突然导致了这个问题?我的同事运行了相同的代码(我们都在Windows上),他遇到了完全相同的问题。我只是在尝试让组件代码Jest测试工作时遇到了这个问题,但现在它出现在Chrome中。
对于上下文,我在StencilJS项目中使用这个库,在它自己的模块中,该模块在应用程序开始时由一些组件导入。
我尝试安装该库的更新版本(22. 4. 9),但没有成功。
我尝试过重置node_modules文件夹并重新安装库,以及删除所有与模板构建相关的文件夹(WWW、dist、loader)。
我在Chrome上硬加载了违规页面。
1条答案
按热度按时间2izufjch1#
我发现
createInstance
不会初始化示例,所以我需要在createInstance
之后添加init
:这真的很奇怪,因为我以前不需要使用这个函数,但我猜可能有一些缓存?