# stateman **Repository Path**: mirrors_fis-components/stateman ## Basic Information - **Project Name**: stateman - **Description**: Fork from https://github.com/leeluolee/stateman.git - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-05-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README StateMan ======= [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/leeluolee/stateman?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](http://img.shields.io/travis/regularjs/regular/master.svg?style=flat-square)](http://travis-ci.org/regularjs/regular) [![spm package](http://spmjs.io/badge/stateman)](http://spmjs.io/package/stateman) stateman: A tiny foundation that provides nested state-based routing for complex web applications. stateman is highly inspired by [ui-router](https://github.com/angular-ui/ui-router); you will find many features similar to it. But stateman is a __standalone library__ with an extremely tiny codebase (10kb minified). Feel free to integrate it with whatever framework you like! ## Feature 0. nested routing support. 1. standalone with tiny codebase. 2. async routing support if you need asynchronous logic in navigating. Support Promise 3. html5 history supported, fallback to hash-based in old browser. 5. [concise API](https://github.com/leeluolee/stateman/tree/master/docs/API.md), deadly simple to getting start with it. 6. support IE6+ and other modern browsers. 7. __well tested, born in large product.__ ## Quick Start You may need a static server to run the demo. [puer](https://github.com/leeluolee/puer) is simple to get start. just paste the code to your own `index.html`, and load it up in a browser. ```html StateMan Test ``` open the console to see the output when navigating. ## Reference - [English](http://leeluolee.github.io/stateman/) - [δΈ­ζ–‡ζ‰‹ε†Œ](http://leeluolee.github.io/stateman/?API-zh) ## Demos ###1. [Simple Layout Demo:](http://leeluolee.github.io/stateman/layout.html) The code in this demo is for demonstration only. In a production development, you will want a view layer to create nested views. ###2. A simple SPA built upon [Regularjs (Living Template)](https://github.com/regularjs/regular) + requirejs + stateman: [Link](http://regularjs.github.io/regular-state/requirejs/index-min.html) I create a simple wrapping ([regular-state](https://github.com/regularjs/regular-state)) to integrate stateman with Regularjs, which makes it easy to build a single Page Application. thanks to the concise API, [the code](https://github.com/regularjs/regular-state/blob/master/example/requirejs/index.js#L83) is very clean. You will find that integrating stateman with other libraries is also simple. ## Browser Support 1. Modern browsers, including mobile devices 2. IE6+ ## Installation ### Bower ```javascript bower install stateman ``` `stateman.js` have been packaged as a standard UMD, so you can use it in AMD, CommonJS and as a global. ### npm (browserify or other based on commonjs) ```js npm install stateman ``` To use: ```js var StateMan = require('stateman'); ``` ### [spm](http://spmjs.io/package/stateman) ```js spm install stateman ``` To use: ```js var StateMan = require('stateman'); ``` ### Component ```js component install leeluolee/stateman ``` To use: ```js var StateMan = require('leeluolee/stateman'); ``` ### Direct downloads 1. [stateman.js](https://rawgit.com/leeluolee/stateman/master/stateman.js) 2. [stateman.min.js](https://rawgit.com/leeluolee/stateman/master/stateman.min.js) ## Examples Some basic examples can be found in [the examples directory](https://github.com/leeluolee/stateman/tree/master/example). __run demo local__ 1. clone this repo 2. `npm install gulp -g && npm install` 3. `gulp server` 4. check the example folder ## LICENSE MIT. ## ChangLog