Page 200 - AngularJS权威教程
P. 200
180 第 18 章 服务器通信
在Node应用的app.js中,需要注册两个新的路由,并且创建定义路由的功能。
这两个新的Node路由与我们在上面调用的服务路由相匹配:
// ...
var hits = require('./routes/hits');
// ...
app.get('/hits', hits.count);
app.post('/hit', hits.registerNew);
// ...
唯一剩下来的组件就是创建真正的后端,记录点击数的服务端逻辑。
在NodeJS中,每个请求的模块通过exports方法来暴露方法。要暴露上面提到的两个方法
count和registerNew,需要把它们附加到routes/hits.js文件中的exports对象上。
在routes/hits.js文件中,我们在内存中创建一个点击仓库来存储点击数,这样,如果重启服务
器的话,点击数也会被重置。
/*
* HIT service
*/
var hits = 0;
exports.count = function(req, res){
res.send(200, {
hits: hits
});
}
exports.registerNew = function(req, res) {
hits += 1;
res.send(200, {
hits: hits
});
}
现在,如果启动我们的Node应用,把路由指向http://localhost:3000,就会看到已经给自己的
Angular应用添加了预期的功能,如图18-3所示。
图18-3 首次启动
按钮被点击之后如图18-4所示。