Comparing version 1.0.13 to 1.0.14
@@ -133,3 +133,3 @@ "use strict"; | ||
var ControllerAdapter = /*#__PURE__*/function () { | ||
function ControllerAdapter(context, express) { | ||
function ControllerAdapter(context, express, config) { | ||
(0, _classCallCheck2["default"])(this, ControllerAdapter); | ||
@@ -140,4 +140,5 @@ var log4j = context.log4j; | ||
this.express = express; | ||
this.config = config; | ||
this.context = context; | ||
this.controllers = context.getComponent(_anno.Controller, true); | ||
this.controllers = []; | ||
this.appScope = {}; | ||
@@ -225,3 +226,75 @@ this.messageConverters = [new _MessageConverter.NumberMessageConverter()]; | ||
key: "startup", | ||
value: function startup() {} | ||
value: function startup() { | ||
var _this$controllers; | ||
var logger = this.logger, | ||
context = this.context, | ||
express = this.express, | ||
_this$config$port = this.config.port, | ||
port = _this$config$port === void 0 ? 3000 : _this$config$port; | ||
(_this$controllers = this.controllers).push.apply(_this$controllers, (0, _toConsumableArray2["default"])(context.getComponent(_anno.Controller, true))); | ||
var createError = require('http-errors'); | ||
this.init(); // 必须声明在use之后 否则未做解析 导致post body无法解析 | ||
express.use(function (req, res, next) { | ||
next(createError(404)); | ||
}).use(function (err, req, res, next) { | ||
res.locals.message = err.message; | ||
var _process$env$active = process.env.active, | ||
active = _process$env$active === void 0 ? 'development' : _process$env$active; | ||
res.locals.error = active === 'development' ? err : {}; | ||
res.status(err.status || 500); | ||
err.message = "".concat(err.message, "\u3010").concat(req.originalUrl, "\u3011"); | ||
if (!req.originalUrl.endsWith(".ico") && err.status !== 404) { | ||
logger.error(err); | ||
} | ||
if (!req.xhr) { | ||
res.render('error', { | ||
err: err | ||
}); | ||
} else { | ||
res.json(new Fail(err.message, err.status || 500)); | ||
} | ||
}); | ||
var http = require('http'); | ||
var server = http.createServer(express); | ||
server.listen(port); | ||
server.on('error', function (error) { | ||
if (error.syscall !== 'listen') { | ||
throw error; | ||
} | ||
var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; | ||
switch (error.code) { | ||
case 'EACCES': | ||
logger.error(bind + ' requires elevated privileges'); | ||
process.exit(1); | ||
break; | ||
case 'EADDRINUSE': | ||
logger.error(bind + ' is already in use'); | ||
process.exit(1); | ||
break; | ||
default: | ||
throw error; | ||
} | ||
}); | ||
server.on('listening', function () { | ||
var addr = server.address(); | ||
var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; | ||
logger.info("Server start on " + bind); | ||
}); | ||
context.register({ | ||
name: 'vweb-server' | ||
}, server); | ||
} | ||
}]); | ||
@@ -228,0 +301,0 @@ return ControllerAdapter; |
@@ -13,4 +13,2 @@ "use strict"; | ||
var createError = require('http-errors'); | ||
var express = require('express'); | ||
@@ -56,5 +54,3 @@ | ||
view = _config$view === void 0 ? {} : _config$view, | ||
session = config.session, | ||
_config$port = config.port, | ||
port = _config$port === void 0 ? 3000 : _config$port; | ||
session = config.session; | ||
var _view$engine = view.engine, | ||
@@ -67,3 +63,2 @@ engine = _view$engine === void 0 ? 'ejs' : _view$engine, | ||
var logger = log4j.getLogger("mvc"); | ||
var adapter = new _controller["default"](this, app); | ||
app.set('views', path.join(userDir, root)); | ||
@@ -79,63 +74,4 @@ app.set('view engine', engine); | ||
})).use(express.text()).use(express.raw()).use(cookieParser()).use(express["static"](path.join(userDir, resource))); | ||
adapter.init(); // 必须声明在use之后 否则未做解析 导致post body无法解析 | ||
app.use(function (req, res, next) { | ||
next(createError(404)); | ||
}).use(function (err, req, res, next) { | ||
res.locals.message = err.message; | ||
var _process$env$active = process.env.active, | ||
active = _process$env$active === void 0 ? 'development' : _process$env$active; | ||
res.locals.error = active === 'development' ? err : {}; | ||
res.status(err.status || 500); | ||
err.message = "".concat(err.message, "\u3010").concat(req.originalUrl, "\u3011"); | ||
if (!req.originalUrl.endsWith(".ico") && err.status !== 404) { | ||
logger.error(err); | ||
} | ||
if (!req.xhr) { | ||
res.render('error', { | ||
err: err | ||
}); | ||
} else { | ||
res.json(new _model.Fail(err.message, err.status || 500)); | ||
} | ||
}); | ||
var http = require('http'); | ||
var server = http.createServer(app); | ||
server.listen(port); | ||
server.on('error', function (error) { | ||
if (error.syscall !== 'listen') { | ||
throw error; | ||
} | ||
var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; | ||
switch (error.code) { | ||
case 'EACCES': | ||
logger.error(bind + ' requires elevated privileges'); | ||
process.exit(1); | ||
break; | ||
case 'EADDRINUSE': | ||
logger.error(bind + ' is already in use'); | ||
process.exit(1); | ||
break; | ||
default: | ||
throw error; | ||
} | ||
}); | ||
server.on('listening', function () { | ||
var addr = server.address(); | ||
var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; | ||
logger.info("Server start on " + bind); | ||
}); | ||
this.register({ | ||
name: 'vweb-server' | ||
}, server); | ||
return adapter; | ||
return new _controller["default"](this, app, config); | ||
} | ||
}; |
{ | ||
"name": "vweb-mvc", | ||
"version": "1.0.13", | ||
"version": "1.0.14", | ||
"description": "mvc ", | ||
@@ -26,3 +26,3 @@ "main": "./lib/index", | ||
"@babel/cli": "^7.15.4", | ||
"@babel/core": "^7.15.4", | ||
"@babel/core": "^7.15.5", | ||
"@babel/plugin-proposal-decorators": "^7.15.4", | ||
@@ -37,3 +37,3 @@ "@babel/plugin-syntax-dynamic-import": "^7.7.4", | ||
"redis": "^3.1.2", | ||
"vweb-core": "^1.0.24" | ||
"vweb-core": "^1.0.38" | ||
}, | ||
@@ -40,0 +40,0 @@ "dependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
61850
1524