Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ ice Public
forked from alibaba/ice

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

License

Notifications You must be signed in to change notification settings

gitzboy/ice

Repository files navigation

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 <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 { 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 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

About

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

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 56.2%
  • JavaScript 38.2%
  • HTML 5.6%

AltStyle によって変換されたページ (->オリジナル) /