- ×
🚀 飞冰 - 让前端开发简单而友好,海量可复用物料,配套桌面工具极速构建前端应用,效率提升 100%
Filed under user interfaceShow AllEnglish | 简体中文
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:
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
andreact-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 inpages/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... } runApp(appConfig)
Finally, To start developing your application run
npm run start
. The application is now running on http://localhost:3333.Examples
- hello-world
- basic-spa
- basic-ssr
- basic-mpa
- basic-store
- basic-request
- icestark-child
- icestark-layout
- with-fusion-design
Contributing
Please see our CONTRIBUTING.md
Ecosystem
Project Version Docs Description icejs docs A universal framework based on react.js icestark docs Micro Frontends solution for large application icestore docs Simple and friendly state for React iceworks docs Visual Intelligent Development Assistant formily docs Performant, flexible and extensible form solusion ahooks docs React Hooks Library Community
DingTalk community GitHub issues Gitter issues gitter License