代码拉取完成,页面将自动刷新
// builtin
var fs = require('fs');
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');
var settings = require("./common/settings");
var config = require("./common/config");
var _ = require('lodash');
//for handlebars
var hbs = require('hbs');
var loginHandler = require('./handlers/LoginHandler-v2');
var sysHandlers = require('./handlers/SysHandlers');
/* 暂时屏蔽, 以测试hbs相关
var proxyHandler = require('./handlers/ProxyHandler');
var index = require('./routes/index');
var users = require('./routes/users');
var moduleRouter = require('./modules/ModuleRouter');
*/
var index = require('./routes/index-hbs');
var users = require('./routes/users-hbs');
var moduleRouter = require('./modules/ModuleRouter-hbs');
var fileRouter = require('./modules/FileRouter');
var httpTest = require('./routes/HttpTest');
var app = express();
hbs.registerPartial('layout', fs.readFileSync(__dirname + '/modules/include/smartadmin/main.hbs', 'utf8'));
hbs.registerPartials(__dirname + '/modules/include/smartadmin/parts');
// web网站模板相关
//hbs.registerPartial('tpl_reactbt4', fs.readFileSync(__dirname + '/www/t/reactbt4/main.hbs', 'utf8'));
//hbs.registerPartials(__dirname + '/www/t/reactbt4/parts');
// hbs.registerPartial('hbs_mbo5', fs.readFileSync(__dirname + '/www/t/mombo5/main.hbs', 'utf8'));
// hbs.registerPartials(__dirname + '/www/t/mombo5/parts');
//
// hbs.registerPartial('hbs_zhscs', fs.readFileSync(__dirname + '/www/t/zhscs/main.hbs', 'utf8'));
// hbs.registerPartials(__dirname + '/www/t/zhscs/parts');
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.engine('.hbs', hbs.__express);
app.engine('.html', hbs.__express);
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(cookieParser());
app.use(session({secret: 'keyboard cat',
saveUninitialized: false,
resave: true,
rolling: true,
cookie: {maxAge: 18000000} //5个小时
// cookie: {expires: false } //todo: 2019-06-30 lgh
}));
app.use(express.static(path.join(__dirname, 'modules')));
app.use(express.static(path.join(__dirname, 'public')));
// app.use(express.static(path.join(__dirname, 'upload')));
//设置upload静态路径 (lgh 2021-7-10)
var upload_dir = config.settings.upload_dir || '/opt/upload';
app.use('/upload', express.static(upload_dir));
//web网站相关
// app.use(express.static(path.join(__dirname, 'www/t')));
// app.use(express.static(path.join(__dirname, 'www/sites')));
//rmi代理(代理应该在bodyParser之前)
//app.use(proxyHandler());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
//系统登录处理
app.use(loginHandler());
//环境变量设置
app.use(sysHandlers.envHandler());
//主框架服务调用
//app.use(sysHandlers.menuListHandler());
var globalSettings = settings.global;
app.use(function(req,res,next){
//解决iframe跨域访问的问题?
if(!res.getHeader("P3P")){
res.setHeader("P3P","CP=CAO PSA OUR");
}
//将globalSettings带入模板可引用的环境中
_.merge(res.locals, globalSettings);
//以下赋值语句,使得req、err在ejs中可以直接访问
res.locals.req = req;
res.locals.env = {};
res.locals.err = '';
next();
});
app.use('/', index);
app.use("/m", moduleRouter);
app.use("/w", moduleRouter);
app.use('/users', users);
app.use("/file", fileRouter);
app.use("/httpTest", httpTest);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。