Webpack i18next在不需要时创建多个实例

Webpack i18next在不需要时创建多个实例,webpack,i18next,Webpack,I18next,在我的工作中,我们正在创建自己的库,可以在项目之间共享。 库是npm包,我们在gitlab上托管。我们主要使用typescript和webpack来捆绑和消费它们 从现在起,我将把图书馆称为“图书馆”,任何使用图书馆的项目(无论是网络还是移动)都是“消费者” 我们试图弄清楚的问题是,我们如何在这些项目中使用国际化(i18next) 在单个包中,如果初始化i18next(i18next.init(…)),则可以调用它的翻译方法,并获取翻译。所以我们想-我们可以在我们的库中包含i18next,它将使

在我的工作中,我们正在创建自己的库,可以在项目之间共享。 库是npm包,我们在gitlab上托管。我们主要使用typescript和webpack来捆绑和消费它们

从现在起,我将把图书馆称为“图书馆”,任何使用图书馆的项目(无论是网络还是移动)都是“消费者”

我们试图弄清楚的问题是,我们如何在这些项目中使用国际化(i18next)

在单个包中,如果初始化i18next(
i18next.init(…)
),则可以调用它的翻译方法,并获取翻译。所以我们想-我们可以在我们的库中包含i18next,它将使用初始化的i18next,并从翻译文件中获取值

在我们的库中,我们将i18next设置为一个外部模块,这样当我们使用它时,它就不会再次绑定它

我举了一个例子,并在github上托管了它:

因此,问题是-尽管库瓞18next在消费者中只包含一次,但当库尝试使用它时,它的实例仍然是一个全新的实例-
i18next.t(“key”)
在消费者中工作,但在消费者中不工作

我如何使它工作,以便我的库使用主消费者项目的下一个实例