core.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. 'use strict';
  2. global.Core = {};
  3. //Global Path
  4. global.Core.Path = {
  5. System : ROOTPATH + '/system',
  6. CoreLib : ROOTPATH + '/system/lib/core',
  7. ExtraLib : ROOTPATH + '/system/lib/extra',
  8. Helper : ROOTPATH + '/system/lib/helper',
  9. Work : ROOTPATH + '/app',
  10. Module : ROOTPATH + '/app/modules',
  11. Handler : ROOTPATH + '/app/handlers',
  12. View : ROOTPATH + '/app/view',
  13. Static : ROOTPATH + '/app/static',
  14. Temp : ROOTPATH + '/temp',
  15. Session : ROOTPATH + '/temp/session',
  16. Log : ROOTPATH + '/log'
  17. };
  18. //Global Extension Require
  19. global.Commander = require('commander');
  20. global.URL = require('url');
  21. global.FILE = require('fs-extra');
  22. global.EJS = require('ejs');
  23. global.ASYNC = require('async');
  24. global.Base64 = require('js-base64');
  25. global.MD5 = require('md5');
  26. global.DateFormat = require('date-format');
  27. global.Tracer = require('tracer').dailyfile({root:Core.Path.Log,format : "{{timestamp}} <{{title}}> {{file}}:{{line}} {{message}}", dateformat : "HH:MM:ss.L"});
  28. //System Library load
  29. let CoreLibFiles = FILE.readdirSync(Core.Path.CoreLib);
  30. CoreLibFiles.forEach(function(filename){
  31. let nameWithOutMimeType = (filename.split('.')[0]).toUpperCase();
  32. try {
  33. global[nameWithOutMimeType] = require(Core.Path.CoreLib + '/' + filename);
  34. }catch(e){
  35. console.log('[Core] Core library file ['+filename+'] load error!');
  36. Tracer.error('[Core] Core library file ['+filename+'] load error!');
  37. }
  38. });
  39. //System Library load end
  40. //Core Setting,just change it if necessary!
  41. global.Core.Setting = {
  42. //Mysql connect pool setting
  43. mysql_pool:{
  44. name: 'NMVCPOOL',
  45. maxconn: 5
  46. }
  47. };
  48. //If Mysql on,load Mysql Extension
  49. if(Config && Config.mysql_on && Config.mysql_cfg){
  50. let mysqlConfig = {
  51. pool:Core.Setting.mysql_pool,
  52. db:Config.mysql_cfg
  53. };
  54. global.MysqlPool = require(Core.Path.ExtraLib + '/mysql-pool.js').instance(mysqlConfig);
  55. global.MysqlDB = require(Core.Path.Helper + '/mysqldb.js');
  56. }
  57. //Check File Paths
  58. for(let path in global.Core.Path){
  59. try{
  60. FILE.statSync(global.Core.Path[path]);
  61. }catch(e){
  62. FILE.mkdirsSync(global.Core.Path[path]);
  63. }
  64. }