【发布时间】:2017-09-09 16:10:51
【问题描述】:
我对 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 插件,但没有成功,希望它可以在任何地方使用。但这可能不是完成这项任务的正确方法。
【问题讨论】:
标签: javascript webpack i18next