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

alibaba
15.9K Stars 1.9K Forks MIT License 933 Commits 56 Opened issues

Description

🚀 Simple and friendly front-end development system(飞冰,简单而友好的前端研发体系 )https://ice.work/

Services available

!
?

Need anything else?

Contributors list

No Data

English | 简体中文

Downloads Version GitHub license PRs Welcome Gitter

A universal framework based on React.js

Features

  • 🐒 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 Iceworks

We recommend creating a new icejs app using Iceworks:

demo

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

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

Welcome to icejs!
}

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... }

runApp(appConfig)

Finally, To start developing your application run

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

Examples

Contributing

Please see our CONTRIBUTING.md

Ecosystem

| 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 solusion| | ahooks| ahooks-status | docs |React Hooks Library|

Community

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

License

MIT

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.