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) => {
// ...
});
웹팩 플러그인을 사용하지 않고 모든 곳에서 사용할 수 있기를 바랍니다. 그러나이 작업을 수행하는 것이 올바른 방법이 아닐 수도 있습니다.