1
我已經開始使用NodeJS幾個月了,並且我遇到了部分渲染的一個小問題。 我想在一些模板中包含部分視圖,但我希望這部分從服務器動態生成(因爲它取決於從數據庫和其他內容中檢索的數據)。有沒有辦法創建服務器處理產生的動態部分?
我試圖創建一個模板助手來做到這一點,但由於處理需要異步完成,我無法得到一個html返回在我的模板中寫入。
基本上這將是對我最好的將是類似的東西(此代碼不會明顯工作):
template_file.js
...
<div>
<%- generatePartial(data) %>
</div>
...
helper_middleware.js
module.exports = function registerAppHelpers(request, response, next)
{
var appHelpers = {};
appHelpers.generatePartial = function generatePartial(data)
{
if (request.isAuthenticated())
{
DB.findOne({ id: request.user.id }, function found(error, obj)
{
if (error)
...
if (obj)
{
return generatePartial1(data);
}
else
{
return generatePartial2(data);
}
});
}
else
{
return generatePartial3(data);
}
};
// Register the helpers as local variables to be accessed within a template.
for (var helper in appHelpers) {
response.locals[helper] = appHelpers[helper];
}
next();
};
現在我可能完全錯了我想要的方式有這個問題,所以如果你有任何解決方案/其他建議,不要猶豫。 PS:我使用ExpressJS和EJS。