Github url

ice

by alibaba

alibaba /ice

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

15.4K Stars 1.8K Forks Last release: 30 days ago (v1.6.3) MIT License 451 Commits 8 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

English | 简体中文

DownloadsVersionGitHub licensePRs WelcomeGitter

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:

create icejs app

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 <project-name>
</project-name>
npm init <initializer></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.
</project-name>

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> &amp;&amp; cd <project-name>
$ npm install ice.js react react-dom
</project-name></project-name>

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 { createApp } from 'ice' const appConfig = { router: { type: 'browser', }, // more... } createApp(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 | Universal Application Development Pack for VS Code |

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.