我对webpack生态系统很陌生,所以我没有掌握它的所有概念,但我正在开发一个使用它的应用程序。我正在尝试设置i18next(请参阅:https://github.com/i18next/i18next)及其XHR关联模块(https://github.com/i18next/i18next-xhr-backend)。
i18next通过XHR获取翻译文件,因此当AJAX请求完成时,i18next在提供的回调中初始化。 基本上,我希望通过我的所有模块提供这个初始化的i18next,这样我就可以在任何地方翻译字符串。
在i18next-xhr-backend的github页面上有一个关于webpack的部分,但我真的不明白如何构造代码以及如何使用它。
function loadLocales(url, options, callback, data) {
try {
let waitForLocale = require('bundle!./locales/'+url+'.json');
waitForLocale((locale) => {
callback(locale, {status: '200'});
})
} catch (e) {
callback(null, {status: '404'});
}
}
i18next
.use(XHR)
.init({
backend: {
loadPath: '{{lng}}',
parse: (data) => data,
ajax: loadLocales
}
}, (err, t) => {
// ...
});
我试图把它变成一个没有成功的webpack插件,希望它随处可用。但它可能不是完成这项任务的正确方法。