huajs-node

0.2.0 • Public • Published

介绍

huajs-node 是一个基于 ES6,使用 TypeScript 编写的 nodejs 服务端框架

内核为 fastify.js,数据库连接为 knex.js

0.2.0 更新内容

  1. 系统将原生支持多项目层级
  2. model 和 service 方法第一个参数是项目主目录,必填,为了让这两个层级可以跨项目执行
  3. 在 controller 中执行 this.dop() 可直接获取对应的 domain 目录
  4. 在 config 中 option 内 controller 是用来配置多项目的 controller 的别名和主目录的

安装教程

  1. 创建项目文件夹
  2. 参考源码中的test文件夹,创建config、controller、domain、service、model文件夹,以及index.ts
  3. npm install huajs-node --save
  4. npm run tsc // 将ts文件编译为js文件
  5. npm run start // 启动框架

框架解释

  1. 任何在 controller 内存在的后缀为 Action 的函数都会对外暴露
  2. domain 为逻辑层,目录结构与 controller 层完全一致,在 controller 中,能且只能执行对应的 domain 层方法
  3. controller 中只做简单的数据校验,复杂逻辑交给 domain 层来处理
  4. 在domain 层中,可以执行任意目录的 service 层和 model 层方法
  5. service 是服务层,一般用来存放公共方法
  6. model 为模型层,能且只能执行数据库方法

框架目录

├── README.md                            // readme
├── package.js                           // 版本管理
├── tsconfig.js                          // TypeScript 控制
├── src                                  // 代码目录
│   ├── lib                              // 框架源代码
│   │   ├── config                       // 配置目录
│   │   │   ├── adapter.ts               // 配置
│   │   │   └── config.ts                // 配置信息
│   │   ├── core                         // 代码目录
│   │   │   ├── layer                    // 层
│   │   │   │   ├── base.ts              // 层级 基础继承
│   │   │   │   ├── controller.ts        // 控制层实现
│   │   │   │   ├── domain.ts            // 逻辑层实现 ( domain 领域驱动开发 )
│   │   │   │   ├── model.ts             // 模型层实现
│   │   │   │   └── service.ts           // 服务层实现
│   │   │   └── methods                  // 方法
│   │   │   │   ├── hook.ts              // 钩子
│   │   │   │   └── router.ts            // 配置路由信息
│   │   ├── extend                       // 框架继承目录
│   │   │   ├── helper.ts                // 继承基础方法
│   │   │   ├── hua-cache.ts             // 继承缓存
│   │   │   ├── hua-mysql.ts             // 继承数据库
│   │   │   └── hua-rabbitmq.ts          // 继承延时队列
│   │   ├── application.ts               // 框架继承入口
│   │   └── hua.ts                       // 框架启动入口
│   └── test                             // 单元测试代码

如上,由框架约定的目录:

  1. dist文件夹为ts编译成的js文件,框架在此目录内执行
  2. src文件夹为ts文件,编写功能的目录,如要修改请在此文件夹内修改
  3. src/lib 是框架代码目录,不建议直接修改
  4. src/test 是单元测试目录,可在此文件夹内测试框架各项功能
  5. src/test/config 配置文件目录 (可选)
  6. src/test/index 入口文件,必须使用 new Application().start() 来启动框架

Package Sidebar

Install

npm i huajs-node

Weekly Downloads

1

Version

0.2.0

License

none

Unpacked Size

96.6 kB

Total Files

59

Last publish

Collaborators

  • yuanbon