@mvx/mvc
Version:
@mvx/mvc is mvc framework on server, base on koa, @tsdi frameworks
47 lines (45 loc) • 2.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultMvcMiddlewares = exports.DefaultMvcMiddlewaresToken = void 0;
var json = require("koa-json");
var ioc_1 = require("@tsdi/ioc");
var platform_server_1 = require("@tsdi/platform-server");
var IMiddleware_1 = require("./middlewares/IMiddleware");
var RouterMiddleware_1 = require("./router/RouterMiddleware");
var CorsMiddleware_1 = require("./router/CorsMiddleware");
var bodyParser = require('koa-bodyparser');
var logger = require('koa-logger');
var serve = require('koa-static');
var views = require('koa-views');
var helmet = require('koa-helmet');
var compose = require('koa-compose');
/**
* default middlewares.
*/
exports.DefaultMvcMiddlewaresToken = ioc_1.tokenId('DEFAULT_MVC_MIDDLEWARES');
/**
* default middlewares.
*/
exports.DefaultMvcMiddlewares = [
function () { return IMiddleware_1.bindMiddlewareName(helmet(), IMiddleware_1.MiddlewareTypes.Helmet); },
function () { return IMiddleware_1.bindMiddlewareName(logger(), IMiddleware_1.MiddlewareTypes.Logger); },
function () { return IMiddleware_1.bindMiddlewareName(bodyParser(), IMiddleware_1.MiddlewareTypes.BodyParser); },
function () { return IMiddleware_1.bindMiddlewareName(json(), IMiddleware_1.MiddlewareTypes.Json); },
function (config, ctx) {
var contents = config.contents || ['./public'];
var serves = contents.map(function (content, idx) {
var staticPath = platform_server_1.toAbsolutePath(ctx.getRootPath(), content);
console.log("content path " + (idx + 1) + ":", staticPath);
return serve(staticPath);
});
return IMiddleware_1.bindMiddlewareName(compose(serves), IMiddleware_1.MiddlewareTypes.Content);
},
CorsMiddleware_1.CorsMiddleware,
function (config, ctx) {
var viewPath = platform_server_1.toAbsolutePath(ctx.getRootPath(), config.views);
console.log('view path:', viewPath, config.viewsOptions);
return IMiddleware_1.bindMiddlewareName(views(viewPath, config.viewsOptions), IMiddleware_1.MiddlewareTypes.View);
},
RouterMiddleware_1.RouterMiddleware
];
//# sourceMappingURL=sourcemaps/DefaultMvcMiddlewares.js.map