@mvx/mvc
Version:
@mvx/mvc is mvc framework on server, base on koa, @tsdi frameworks
47 lines (45 loc) • 2.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultMvcMiddlewares = exports.DefaultMvcMiddlewaresToken = void 0;
const json = require("koa-json");
const ioc_1 = require("@tsdi/ioc");
const platform_server_1 = require("@tsdi/platform-server");
const IMiddleware_1 = require("./middlewares/IMiddleware");
const RouterMiddleware_1 = require("./router/RouterMiddleware");
const CorsMiddleware_1 = require("./router/CorsMiddleware");
const bodyParser = require('koa-bodyparser');
const logger = require('koa-logger');
const serve = require('koa-static');
const views = require('koa-views');
const helmet = require('koa-helmet');
const compose = require('koa-compose');
/**
* default middlewares.
*/
exports.DefaultMvcMiddlewaresToken = ioc_1.tokenId('DEFAULT_MVC_MIDDLEWARES');
/**
* default middlewares.
*/
exports.DefaultMvcMiddlewares = [
() => IMiddleware_1.bindMiddlewareName(helmet(), IMiddleware_1.MiddlewareTypes.Helmet),
() => IMiddleware_1.bindMiddlewareName(logger(), IMiddleware_1.MiddlewareTypes.Logger),
() => IMiddleware_1.bindMiddlewareName(bodyParser(), IMiddleware_1.MiddlewareTypes.BodyParser),
() => IMiddleware_1.bindMiddlewareName(json(), IMiddleware_1.MiddlewareTypes.Json),
(config, ctx) => {
let contents = config.contents || ['./public'];
let serves = contents.map((content, idx) => {
let 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,
(config, ctx) => {
let 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