2017-04-13 63 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插件,希望它能在任何地方都可用。但這可能不是完成此任務的正確方法。

回答