chanjs
v1.0.36
Published
chanjs基于express 纯js研发的轻量级mvc框架。
Downloads
356
Maintainers
Readme
Chan.js
Chan.js is a lightweight MVC framework developed in pure JavaScript based on Express. It embodies functional programming concepts, offering superior performance, clear code, and easy-to-follow processes that ensure high maintainability.
features
- Built on top of Express
- Supports ES6 syntax
- Modular Design
- Supports multiple module routes
- Supports multiple module views
- Supports multiple module controllers
- Supports multiple module services
- Plugin-based architecture
- Lightweight (core code within 300 lines)
- Long-term maintenance
Conventions Over Configuration
|- app
|- config
|- module
|- module1
|- controller
|- service
|- view
|- router.js
|- module2
|- controller
|- service
|- view
|- router.js
|- extend
|- middleware
|- plugin
|- plus-module1
|- controller
|- service
|- view
|- router.js
|- module2
|- controller
|- service
|- view
|- router.js
|- public
|- index.js
Initialization Process
- Initialization
- Load configuration
- Load modules
- Load services
- Load controllers
- Load routers
- Load extensions
- Load plugins
- Load services
- Load controllers
- Load routers
- beforeStart() Hook to merge configurations from the database into the configuration
- run() Start the server
Official Website
A CMS system developed with Chan.js Website:https://www.chancms.top
Highlights
- Configuration files
- Multi-module MVC structure
- Plugin MVC support
- CORS cross-origin configuration support
- MySQL database support
- Route control
- Art-template template engine
- Static resources management
- Cookie handling
- Logging capabilities
run
const Chanjs = require("chanjs");
const chan = new Chanjs();
// Load middleware
chan.beforeStart(fn);
// Scan modules
chan.start();
// Start the server
chan.run();
This framework is designed for developers who seek a balance between simplicity and functionality, providing a robust foundation for building web applications with ease.