# 介绍

对于一个应用开发,我们应该更加有规划,cool-admin提供了模块开发的概念。

建议模块目录src/modules/模块名

 ├── modules                           
 │   └── base(基础的权限管理系统)
 │   │    └── controller(api接口)
 │   │    └── dto(参数校验)
 │   │    └── entity(实体类)
 │   │    └── middleware(中间件)     
 │   │    └── schedule(定时任务)        
 │   │    └── service(服务,写业务逻辑)           
 │   │    └── config.ts(必须,模块的配置)
 │   │    └── init.sql(可选,初始化该模块的sql)
 

# 模块配置

# config.ts

import { Application } from 'egg';
import { ModuleConfig } from 'midwayjs-cool-core';

/**
 * 模块配置
 */
export default (app: Application) => {
  return {
    // 必须,模块名称
    name: '聊天模块',
    // 必须,模块描述
    description: '基于socket.io提供即时通讯聊天功能',
    // 可选,中间件,只对本模块有效
    middlewares: [],
    // 可选,全局中间件
    globalMiddlewares: [],
    // 可选,模块加载顺序,默认为0,值越大越优先加载
    order: 1;
    // 其他配置,jwt配置
    jwt: 'IUFHOFNIWI',
  } as ModuleConfig;
};

WARNING

config.ts的配置文件是必须的,有几个必填项描述着模块的功能,当然除此之外,你还可以设置模块的一些特有配置

# 引入配置


  @Config('module.模块名,模块文件夹名称,如demo')
  config;