# sugar
**Repository Path**: mirrors/sugar
## Basic Information
- **Project Name**: sugar
- **Description**: Sugar.js 是一个用于开发前端模块化 UI 组件的轻量级 JavaScript 框架 ( mvvm & template ) 框架特点: 体积轻量 Api 简单
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://www.oschina.net/p/Sugarjs
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-07-24
- **Last Updated**: 2025-10-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## sugar
> A lightweight and powerful JavaScript MVVM library for building easy web UI.
Simple api and without any dependence. Consists of two independent libraries:
* **`mvvm.js`** *A simple ViewModel library* , ***it can be used independently***.
* **`sugar.js`** *Component system + mvvm.js , for building flexible web components*.
## Diagram
## HelloWorld
### mvvm.js
```html
{{ title }}
```
More MVVM directives are supported, see all at [documentation](https://github.com/tangbc/sugar/wiki/MVVM).
### sugar.js
```html
{{ title }}
```
SubComponent, component nesting and message system see [documentaion](https://github.com/tangbc/sugar/wiki).
## Demos
There are several complete and amusing demos in **`demos/`** folder make you know more about `sugar.js`, check it out and preview them in the following links:
* [StarRating](https://tangbc.github.io/sugar/demos/starRating)
* [DatePicker](https://tangbc.github.io/sugar/demos/datePicker)
* [TodoMVC](https://tangbc.github.io/sugar/demos/todoMVC)
* [Snake eat apple game](https://tangbc.github.io/snake-eat-bugs/)
> *i. Sometimes Github-page link disconnected by `Enforce HTTPS`, please use `https` protocol instead.*
> *ii. Some demos need httpSever (Ajax), so run script `npm run server` to preview them if in your local.*
You can also experience `sugar.js` online with a ***RadioComponent*** at [jsfiddle](https://jsfiddle.net/tangbc/may7jzb4/9/).
## Usage
* Both support [`UMD`](https://github.com/umdjs/umd) (Universal Module Definition)
* `mvvm.js (just 28 kb)` https://tangbc.github.io/sugar/dist/mvvm.min.js
* `sugar.js (just 35 kb)` https://tangbc.github.io/sugar/dist/sugar.min.js
* Browsers: **Not support IE8 and below**. Besides, support most modern desktop and mobile browsers.
## Documentation
[Get start and check documentation on Wiki.](https://github.com/tangbc/sugar/wiki)
## Directories
* **`build/`** Development, production and test configurations.
* **`demos/`** Several complete examples/demos developed by `sugar.js`.
* **`dist/`** Product files of `sugar.js` and `mvvm.js`, and their compressed.
* **`src/`** Source code module files:
* `src/main/`20% A simple component system. [API & Doc](https://github.com/tangbc/sugar/wiki/API)
* **`src/mvvm/`**80% A powerful and easy-using MVVM library. [API & Doc](https://github.com/tangbc/sugar/wiki/MVVM)
* **`test/`** Unit test specs writing by karma + jasmine.
## Contribution
*Welcome any pull request of fixbug or improvement, even only supplement some unit test specs.*
1. Fork and clone repository to your local.
2. Install NodeJS package devtools: **`npm install`**.
3. Develop and debug: **`npm run dev`** *(generate sourcemap files in `bundle/`)*.
4. Add and write test spec, *(in `test/units/specs/`)* then run uint test:**`npm run test`**.
5. Generate the test coverage report and jshint checking up: **`npm run build`**.
## ChangeLogs
[Check details from releases](https://github.com/tangbc/sugar/releases)
## License
[MIT License](https://github.com/tangbc/sugar/blob/master/LICENSE)