MEANJS.org是渲染HTML服务器端还是通过客户端?
其视图引擎
/**
* Configure view engine
*/
module.exports.initViewEngine = function (app) {
app.engine('server.view.html', hbs.express4({
extname: '.server.view.html'
}));
app.set('view engine', 'server.view.html');
app.set('views', path.resolve('./'));
};
根据我对Express的理解,您是否为服务器端模板渲染设置了view engine
。
在同一个文件中再往下一点
/**
* Configure the modules static routes
*/
module.exports.initModulesClientRoutes = function (app) {
// Setting the app router and static folder
app.use('/', express.static(path.resolve('./public'), { maxAge: 86400000 }));
// Globbing static routing
config.folders.client.forEach(function (staticPath) {
app.use(staticPath, express.static(path.resolve('./' + staticPath)));
});
};
根据我的理解,用于客户端资产。
还有这个,仅从评论中,我就相信它的所有服务器端呈现 - res.render()
- 都是服务器端,对吗?
/**
* Render the main application page
*/
exports.renderIndex = function (req, res) {
var safeUserObject = null;
if (req.user) {
safeUserObject = {
displayName: validator.escape(req.user.displayName),
provider: validator.escape(req.user.provider),
username: validator.escape(req.user.username),
created: req.user.created.toString(),
roles: req.user.roles,
profileImageURL: req.user.profileImageURL,
email: validator.escape(req.user.email),
lastName: validator.escape(req.user.lastName),
firstName: validator.escape(req.user.firstName),
additionalProvidersData: req.user.additionalProvidersData
};
}
res.render('modules/core/server/views/index', {
user: JSON.stringify(safeUserObject),
sharedConfig: JSON.stringify(config.shared)
});
};
我只是想了解这里发生了什么......是服务器端还是客户端还是两者兼而有之?
更新1(3/2/17) 我想我现在意识到发生了什么。似乎MEANJS.org使用服务器端身份验证(会话等)为用户帐户提供身份验证。它还没有更新到使用基于令牌的身份验证......或者根据我的理解,也就是客户端身份验证...这些日子似乎越来越受欢迎。