The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×

    🚀 飞冰 - 让前端开发简单而友好,海量可复用物料,配套桌面工具极速构建前端应用,效率提升 100%
    Filed under 

    • 🔾90%Overall
    • 16,372
    • 14 hours
    • 🕩1952
    • 👥15

    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 console.log 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 AppWorks

    We recommend creating a new icejs app using AppWorks:


    See Quick start by AppWorks 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 <project-name>

    npm init <initializer> is available in npm 6+

    Start local server to launch project:

    $ cd <project-name>
    $ 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 ice.js, react and react-dom in your project:

    $ mkdir <project-name> && cd <project-name>
    $ npm install ice.js react react-dom

    Open package.json 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 pages directory, then create the first page in pages/index.jsx:

    import React from 'react'
    const HomePage = () => {
      return <div>Welcome to icejs!</div>
    export default HomePage

    Configure an application information in the src/app.js 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
    formily formily-status docs Performant, flexible and extensible form solution
    ahooks ahooks-status docs React Hooks Library


    DingTalk community GitHub issues Gitter
    issues gitter



    Show All