ember使用express做后台API服务

使用Ember CLI的ember generate server命令创建server,模块会生成server/index.js文件,该服务是基于Express框架

ember generate server

server/index.js默认内容

1
2
3
4
5
6
7
8
9
10
11
12
13
module.exports = function(app) {
  var globSync   = require('glob').sync;
  var mocks      = globSync('./mocks/**/*.js', { cwd: __dirname }).map(require);
  var proxies    = globSync('./proxies/**/*.js', { cwd: __dirname }).map(require);

  // Log proxy requests
  var morgan  = require('morgan');
  app.use(morgan('dev'));

  mocks.forEach(function(route) { route(app); });
  proxies.forEach(function(route) { route(app); });

};

从内容分析可以看出,其实这个服务可以让前端更好的mock API的数据做测试,这样在工作配合上前端不需要等后端API调式 可以使用server模拟数据;

也可以自定义API数据接口

1
2
3
4
5
6
7
8
9
10
11
12
// server/index.js
var bodyParser = require('body-parser');

module.exports = function(app) {

  app.use(bodyParser.json({ type: "application/json" }));

  app.get('/api/items/:item', function(req, res) {
    const item = localdb.find('item', req.params.item);
    res.send({ item: item });
  });
}

运行服务

ember server

我们就可以通过http://localhost:4200/api/items/1API获取数据

Comments

Copyright © 2017 kaka