<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          App開發(fā)之服務器框架搭建

          共 3319字,需瀏覽 7分鐘

           ·

          2020-11-20 06:28

          關于服務器,在原有express上稍加改動。

          增加 conf目錄,創(chuàng)建config.js

          var logger = require('../utils/log4jsutil').logger(__dirname+'/config.js');var server = {        sms:'',//短信 ali 阿里 jpush 極光        push:true,//推送        validate:true,//驗證碼        mysqldb:'default',//'default' 默認 'docker'   阿里云'ali'         app_name:'phelper',}/** * http服務器 */server.http_post = 9201;/** * 匹配服務器 */server.socket_match_post = 9104;/** * 猜詩聊天服務器 */server.socket_gp_chats_post = 8888;
          server.socket_guess_post = 9201;
          server.debug = 'debug';server.ali = 'ali';server.tencent = 'tencent';
          server.env = server.debug;// server.env = server.ali;// server.env = server.tencent;
          if(server.env == server.ali){ server.sms = 'ali'; server.push = true; server.validate = true; server.mysqldb = 'ali';}else if(server.env == server.tencent){ server.sms = 'ali'; server.push = true; server.validate = true; server.mysqldb = 'tencent'; }else{ // server.sms = 'ali';}
          //配置項module.exports = { server,};

          bin/www中稍加改動,使用配置文件中的端口

          var server_conf = require('../conf/config').server;var http_post = server_conf.http_post;
          /** * Get port from environment and store in Express. */
          var port = normalizePort(process.env.PORT || http_post);


          創(chuàng)建daos目錄,用來存放數(shù)據庫操作

          創(chuàng)建push目錄,用來存放推送

          創(chuàng)建test目錄,用來存放一些測試單元

          創(chuàng)建utils,用來存放工具集

          utils目錄下,創(chuàng)建log4jsutil.js,封裝日志工具類

          /** * 日志工具 *  logger.trace('This is an index page! -- log4js'); *  logger.debug('This is an index page! -- log4js'); *  logger.info('This is an index page! -- log4js'); *  logger.warn('This is an index page! -- log4js'); *  logger.error('This is an index page! -- log4js'); *  logger.fatal('This is an index page! -- log4js'); */var log4js = require('log4js');const fs = require('fs');
          levels = { 'trace': log4js.levels.TRACE, 'debug': log4js.levels.DEBUG, 'info': log4js.levels.INFO, 'warn': log4js.levels.WARN, 'error': log4js.levels.ERROR, 'fatal': log4js.levels.FATAL};
          function judgePath(pathStr) { if (!fs.existsSync(pathStr)) { fs.mkdirSync(pathStr); // console.log('createPath: ' + pathStr); }}

          log4js.configure({ // appenders:[ // //控制臺輸出 // {"type": "console"}, // {type: 'dateFile', // //文件名為= filename + pattern, 設置為alwaysIncludePattern:true // filename: 'logs/', // 需要手動創(chuàng)建此文件夾 // pattern: 'yyyy-MM-dd.log', // //包含模型 // alwaysIncludePattern: true, // }], // replaceConsole: true // 替換 console.log appenders: { out: { type: 'stdout' }, file: { type: 'dateFile', //文件名為= filename + pattern, 設置為alwaysIncludePattern:true filename: 'logs/phelper', // 需要手動創(chuàng)建此文件夾 pattern: 'yyyy-MM-dd.log', //包含模型 alwaysIncludePattern: true, } }, categories: { default: { appenders: ['out','file'], level: 'debug' } }})
          exports.logger = function (name, level) { name = name.replace(process.cwd(),''); var logger = log4js.getLogger(name); //默認為debug權限及以上 logger.level = levels[level] || levels['debug']; return logger;};
          exports.use = function (app, level) { //加載中間件 app.use(log4js.connectLogger(log4js.getLogger('logInfo'), { level: levels[level] || levels['debug'], //格式化http相關信息 format: ':method :url :status' }));};

          安裝log4js

          npm install log4js


          總體概覽


          瀏覽 73
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无码另类 | 亚洲精品456在线播放 | 尹人大香蕉手机网 | 男人操女人在线观看 | 免费的尻屄视频 |