ala-cli
Version:
aladdin develop utils
47 lines (38 loc) • 1.28 kB
JavaScript
/**
*
* @file Command Server 本地开服务
* @author chenrui09
* @date 2017/5/10
*
*/
const express = require('express');
const path = require('path');
let dirRoot = process.cwd();
let appConf = require(path.join(dirRoot, 'app.conf'));
module.exports = () => {
let app = express();
let serverConf = appConf.develop.server;
let modules = appConf.modules;
let routes = serverConf.routes;
// 配置静态路由
app.use('/static', express.static(path.join(dirRoot, appConf.root, modules.static)));
app.use('/static', express.static(path.join(dirRoot, appConf.dest, modules.static)));
// 配置动态路由
for (let k in routes) {
let route = routes[k];
let handler;
// 判断是否有路径匹配符
if (/\//.test(route)) {
handler = require(path.join(dirRoot, route));
} else {
handler = require('./routes/' + route);
}
// 处理路由请求
app.get('/' + (k === 'index' ? '' : k), (req, res) => {
handler(req, res);
});
}
// 监听端口
app.listen(serverConf.port);
console.log(`ala server started! please visit http://localhost:${serverConf.port}`);
};