0
다른 도우미 내부에서 도우미를 호출 할 수 있는지 마법사에게 알릴 수 있습니다. 날짜 형식 도우미 안에서 i18n 도우미를 호출해야합니다. 나는 그것이 작동하도록 할 수 없습니다. 그것이이 플러그인으로 가능한지 궁금해하고있었습니다. 다른NodeJs 핸들 바 다른 도우미 내부에서 도우미 호출하기
const express = require('express');
const i18next = require('i18next');
i18next.init(options);
app.use(i18nextMiddleware.handle(i18next));
app.post(path.join(__dirname,'/locales/add/{{ns}}/{{lng}}'), i18nextMiddleware.missingKeyHandler(i18next));
app.get(path.join(__dirname,'/locales/resources.json'), i18nextMiddleware.getResourcesHandler(i18next));
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.engine('hbs', exphbs({
extname: 'hbs',
defaultLayout: 'main_layout',
layoutDir: path.join(__dirname, 'views/layouts/'),
partialsDir: path.join(__dirname,'views/partials/'),
helpers: {
i18n: function(key, options){
var result = this.t(key, options.hash);
return new Handlebars.SafeString(result);
},
formatExpire: function (namespace, date, format, lang) {
// strText = "expired On";
// strText = Handlebars.i18n.t('namespace:translationString'); // Cannot read property 't' of undefined
// strText = Handlebars.i18n('namespace:translationString'); // Handlebars.i18n is not a function
strText = Handlebars._default_helpers['i18n'].t('namespace:translationString'); // t is not a function
htmlDisplay = "<span class='bg-danger-800 text-highlight'>" + strText + "<span class='text-semibold'></span></span>";
return htmlDisplay;
}
...
....
}
})
)
app.set('view engine', 'hbs');
아무것도 헬퍼의 모든 내가 어떠한 문제가없는, 좋은 작품 :
여기 내 설정입니다. 내가 "formatExpire"를 호출 할 때만 헬퍼 함수에서 주석으로 나열된 오류가 발생합니다.
도움을 주시면 감사하겠습니다.
감사
내가 얻을 작동하지 helperMissing : [기능] 경우 : [기능] 않는 : 그것은 단지 내장 표시하고 [기능]} 것 : [기능] : [기능] 로그 : [기능] 룩업 핸들바 도우미, 내 cutom 도우미 중 누구도 나열되어 있지 않습니다. – boulepick