Need help with ice?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

16.3K Stars 1.9K Forks MIT License 1.3K Commits 76 Opened issues


🚀 The Progressive Framework Based On React(基于 React 的渐进式研发框架)

Services available


Need anything else?

Contributors list

English | 简体中文

Downloads Version GitHub license PRs Welcome Gitter

A universal framework based on React.js


  • 🐒 Engineering:Out of the box support for ES6+、TypeScript、Less、Sass、 CSS Modules,etc
  • 🦊 Routing:Powerful Routing System, supports configured routing and conventions routing
  • 🐯 State management:Built-in icestore, lightweight state management solution based on React Hooks
  • 🐦 Config:Modes and Environment Variables configuration in the config file
  • 🐶 Logger:Built-in logger solution, it's a flexible abstraction over using
    as well
  • 🐱 Helpers:Built-in helpers, provide some useful utility functions
  • 🦁 Application configuration:Provide powerful and extensible application configuration
  • 🐴 Hooks:Provide Hooks APIs such as useModel and useHistory, etc
  • 🐌 Plugin system:The plugin system provides rich features and allow the community to build reusable solutions
  • 🐘 TypeScript:Support TypeScript
  • 🐂 Modern:Support SPA、SSR、MPA and Micro-frontend

Quick start

Setup by Iceworks

We recommend creating a new icejs app using Iceworks:


See Quick start by Iceworks for more details.

Setup by CLI

We recommend creating a new icejs app using create-ice, which sets up everything automatically for you. To create a project, run:

$ npm init ice 

npm init 
is available in npm 6+

Start local server to launch project:

$ cd 
$ npm install
$ npm run start # running on http://localhost:3333.

It's as simple as that!

Manual Setup

icejs is really easy to get started with. Install

in your project:
$ mkdir  && cd 
$ npm install ice.js react react-dom


and add the following scripts:
  "name": "project-name",
  "scripts": {
    "start": "icejs start",
    "build": "icejs build"
  "dependencies": {
    "ice.js": "^1.0.0",
    "react": "^16.12.0",
    "react-dom": "^16.12.0"

Create the

directory, then create the first page in
import React from 'react'

const HomePage = () => { return

Welcome to icejs!

export default HomePage

Configure an application information in the

file, but it is optional:
import { runApp } from 'ice'

const appConfig = { router: { type: 'browser', },

// more... }


Finally, To start developing your application run

npm run start
. The application is now running on http://localhost:3333.



Please see our


| Project | Version | Docs | Description | |----------------|-----------------------------------------|--------------|-----------| | icejs | icejs-status | docs |A universal framework based on react.js| | icestark | icestark-status | docs |Micro Frontends solution for large application| | icestore | icestore-status | docs |Simple and friendly state for React| | iceworks| iceworks-status | docs |Visual Intelligent Development Assistant| | formily| formily-status | docs |Performant, flexible and extensible form solution| | ahooks| ahooks-status | docs |React Hooks Library|


| DingTalk community | GitHub issues | Gitter | |-------------------------------------|--------------|---------| | | issues | gitter|



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.