UNPKG

fdm

Version:

基于gulp的1688前端集成化工具

116 lines (112 loc) 3.06 kB
/** * @author geng.cheng * @description fdserver功能 */ var spawn = require('win-spawn'); var commander = require('commander'); var helper = require('../utils/helper'); var path = require('path'); var colors = require('colors'); var fs = require('fs'); var config = helper.getConfig(); module.exports = { help: function() { console.log(); console.log('------后台运行,仅mac/linux支持-----'); console.log('启动FdServer'); console.log(' $', 'fdm server'.green, 'start'); console.log(); console.log('重启FdServer'); console.log(' $', 'fdm server'.green, 'restart'); console.log(); console.log('停止FdServer'); console.log(' $', 'fdm server'.green, 'stop'); console.log(); console.log('查看FdServer日志'); console.log(' $', 'fdm server'.green, 'log'); console.log(); console.log('--------------前台运行--------------'); console.log(' $', 'fdm server'.green, 'fstart'); console.log(); console.log(); console.log(); }, run: function(argv) { commander.parse(process.argv); var cmd = commander.args[1]; var baseModulePath = helper.baseModulePath(); var serverPath = baseModulePath+'/fdserver'; var serverPidFile = serverPath+'/run/app.pid'; if(!commander.args[1]){ this.help(); return; } switch(commander.args[1]){ case "start": case "stop": case "restart": if(process.platform=="win32"){ console.log(); console.log('Sorry, 你的电脑不支持此命令,请使用fdm server fstart'.red); console.log(); return; } serverRun('appctl'); break; case "fstart": if(fs.existsSync(serverPidFile)){ console.log(); console.log('fdserver已启动,请先运行fdm server stop'.red); console.log(); return; }else{ serverRun('fdserver'); } break; case "log": if(fs.existsSync(serverPath+'/server.log')){ var log = fs.readFileSync(serverPath+'/server.log',{ encoding: 'utf8' }); console.log(log.green); }else{ console.log(); console.log('日志文件不存在...'); console.log(); } break; default: this.help(); } function serverRun(bin){ var _bin = bin || "fstart"; var serverConfig = ''; if(config.fdserver && config.fdserver.config){ serverConfig = config.fdserver.config; }else{ serverConfig = path.join(helper.getHomeDir(), 'neat.fdm','server.config.js'); serverError(); return; } if(fs.existsSync(serverConfig)){ spawn('node', [serverPath+'/bin/'+_bin,commander.args[1],'--cf', serverConfig], { stdio: 'inherit' }); }else{ serverError(); return; } } function serverError(){ console.log([ '', 'fdserver配置文件路径不正确,请前往'.red+path.join(helper.getHomeDir(), 'neat.fdm', 'config.json')+'重新配置'.red, '参考配置:', '{', ' fdserver:{', ' config:"FdServer配置路径"', ' }', '}', ].join('\n')); } } };