入口文件

2018-11-22 13:14:59

模块后端通过入口文件提供各种类别的对象给系统,系统会根据场景的需要自动加载这些对象

入口文件

src/module/test-todo/backend/src/main.js

const config = require('./config/config.js');
const locales = require('./config/locales.js');
const errors = require('./config/errors.js');
const middlewares = require('./config/middlewares.js');

module.exports = app => {

  // routes
  const routes = require('./routes.js')(app);
  // services
  const services = require('./services.js')(app);
  // models
  const models = require('./models.js')(app);
  // meta
  const meta = require('./meta.js')(app);

  return {
    routes,
    services,
    models,
    config,
    locales,
    errors,
    middlewares,
    meta,
  };

};
名称 说明
routes 模块的API路由清单,系统会自动合并到系统的API路由清单中
services 模块的服务清单,系统会按需自动注入到ctx.service
models 模块的数据模型清单,系统会按需自动注入到ctx.model
config 模块的参数配置,系统会自动生成ctx.config
locales 模块的语言资源清单,系统会自动合并到系统的语言资源清单中
errors 模块的错误信息清单,当代码异常时可以方便的throw错误信息
middlewares 模块的中间件清单,系统会按需自动注入到中间件序列
meta 模块的元数据对象,比如核心模块经常从meta中提取元配置信息,如原子类型菜单等等


评论: