2017-04-13 98 views
0

我对webpack生态系统很陌生,所以我没有把握它的所有概念,但我正在使用它的应用程序。我正在设置i18next(请参阅:https://github.com/i18next/i18next)及其XHR关联模块(https://github.com/i18next/i18next-xhr-backend)。在webpack捆绑应用程序中使用i18next

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插件,希望它能在任何地方都可用。但这可能不是完成此任务的正确方法。

回答