UNPKG

tojava

Version:

这是一个server服务支持ftl

67 lines (56 loc) 1.92 kB
var n_path = require('path'); var fs = require('fs'); var color = require('colors'); var express = require('express'); var jspserver = require('./lib/fmk-jsp'); var R = require('ramda'); var gmroute = require('./lib/gmroute.js'); function readJson(path) { //读取当前json文件 var readFile = function(path) { return JSON.parse(fs.readFileSync(path, 'utf-8')); }; var path = n_path.join(process.cwd(), path); if(fs.existsSync){ return readFile(path); }else{ console.log(path+"文件找不到") process.exit(-1); } }; var config = readJson('./g-cart-server.json'); var cmd = jspserver.start(config.jettry.root, config.jettry.port); var jettryout = (function(flag) { return function(data) { var msg = data.toString(); if (msg.indexOf("Welcome To The JFinal World") != -1) { flag = true; msg = "gome-jsp-fremark 已经启动 root:" + config.jettry.root; } if (flag) console.log(msg.green); }; }(false)); var app = express(); var all = function(a, b) { app.all(a, b); }; var http = require('http').createServer(app); var groute = function(routes, app) { console.log(routes); var doroute = R.ifElse(R.is(String), R.pipe(readJson, R.partialRight(groute, [app])), //不知道干啥, 自己认为没啥乱用 function(route) { console.log(route); app.all(R.head(route), gmroute(R.tail(route), config)); }); R.forEach(doroute, routes); }; //jsp服务器信息打印 cmd.stdout.on('data', jettryout); cmd.on('close', function() { console.log("gome-jsp-fremark 停止运行".red); }); groute(config.project.routes, app); http.listen(config.node.port, function() { console.log(("node服务已启动端口是 " + config.node.port).cyan); });