# chanjs
**Repository Path**: superhan/chanjs
## Basic Information
- **Project Name**: chanjs
- **Description**: Chan.js 基于express 纯js研发的轻量级mvc框架。基于函数式编程思想,流程清晰,代码易读,可持续维护高。
- **Primary Language**: NodeJS
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 8
- **Created**: 2024-08-05
- **Last Updated**: 2024-08-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#
Chan.js mvc框架
Chan.js 基于express 纯js研发的轻量级mvc框架。基于函数式编程思想,性能优越,代码清晰,流程易读,可持续维护高。
## 特性
- 基于express
- 支持es6语法
- 模块化
- 支持多模块路由
- 支持多模块视图
- 支持多模块控制器
- 支持多模块服务
- 插件化
- 轻量级(核心代码300行内)
- 长期维护
## 规范 遵循约定优于配置
```code
|- app
|- config 配置
|- module 模块1
|- module1 模块1
|- controller 控制器
|- service 服务模型
|- view 视图模板
|- router.js 路由
|- module2 模块2
|- controller 控制器
|- service 服务模型
|- view 视图模板
|- router.js路由
|- extend 扩展
|- middleware 中间件
|- plugin 插件
|- plus-module1 插件1
|- controller 控制器
|- service 服务模型
|- view 视图模板
|- router.js 路由
|- module2 插件2
|- controller 控制器
|- service 服务模型
|- view 视图模板
|- router.js路由
|- public 静态文件
|- index.js
```
### 初始化流程
- 初始化
- 加载配置
- 加载模块
- 加载service
- 加载controller
- 加载router
- 加载extend
- 加载plugin
- 加载service
- 加载controller
- 加载router
- beforeStart() 挂在从数据库获取的配置合并到配置文件中
- run() 启动服务
### 官网
基于Chanjs开发的cms系统
网址:https://www.chancms.top
### 特点
* 配置文件
* 多模块mvc
* 多插件mvc
* mysql数据库支持
* 路由控制
* art-template模板
* 静态资源
* cookie
* 日志功能
### 运行
```javascript
const Chan = require('chanjs');
const app = new Chan();
app.run();
```