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

入口文件

src/module-vendor/test-party/backend/src/main.js

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

module.exports = app => {

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

  return {
    aops,
    beans,
    routes,
    controllers,
    services,
    models,
    config,
    locales,
    errors,
    meta,
  };

};
名称 说明
aops 模块的AOP清单,系统会自动合并到系统的AOP清单中
beans 模块的Bean清单,系统会自动合并到系统的Bean清单中
routes 模块的API路由清单,系统会自动合并到系统的API路由清单中
controllers 模块的Controller清单,系统会按需自动注入到ctx.controller
services 模块的Service清单,系统会按需自动注入到ctx.service
models 模块的数据模型清单,系统会按需自动注入到ctx.model
config 模块的参数配置,系统会自动生成ctx.config
locales 模块的语言资源清单,系统会自动合并到系统的语言资源清单中
errors 模块的错误信息清单,当代码异常时可以方便的throw错误信息
meta 模块的元数据对象,由模块自行约定内容及用途。比如核心模块经常从meta中提取元配置信息,如原子类型静态数据等等