我开始开发一个新的NodeJS(使用Express)Web / CRUD / REST多页面应用程序,我想以最好的方式开始。
Application对象将包含许多模块,例如:
基本应用程序(NodeJS服务器端API)也将被Android / iOS应用程序“调用”以从移动设备中获取/编辑数据。
将项目视为具有许多异步调用的多页面应用程序,我对视图管理有疑问,我想弄清楚以下哪种方法最方便:
1猜想(PURE API样式?):为每个请求写一条快速路由,它只返回一个JSON响应并组成视图客户端(最初用简单的jquery DOM编辑,稍后下载后(通过套接字或ajax调用)。使用React或Angular)。
服务器端 :
1调用:/ getFooView
router.get('/getFooView', function(req, res, next) {
//code
res.send(htmlview);
});
2调用:/ getFooData
router.get('/getFooView', function(req, res, next) {
//code
res.json({"foo": "bar"});
});
客户端 :
Javascript / JQuery客户端将组成“getFootView”然后它将显示给用户。
2猜想:为每个请求写一条快速路由,它返回已经由服务器端组成的视图(通常是一个小的html块,列表或类似物)(让我们假设是处理程序栏)。在这种情况下,每个控制器路由应根据请求者解释请求。
服务器端 :
router.get('/getFoo', function(req, res, next) {
// pseudo code
if(request == "ANDROID" || request == "iOS")
res.json({data});
else
res.render('index', {
// handlebars parsed view
title: blockTitle,
data: blockData
sensors: sensorsData
});
});
客户端: 用于追加接收块的JQuery代码。
哪种方法更适合我的目的?有什么优点和缺点?
抱歉我的英语不好。
答案 0 :(得分:0)
如果我们谈论单页面应用程序,那么您就不应该发送视图。您可以将nginx用于客户端文件,包括css,html,js等。此外,nginx将缓存并代理客户端请求REST API。
所以我的回答是 PURE API + nginx for static files 。