JD-style mobile UI components based on React that support users to develop H5 and mini-programs.
---
> Nut[nʌt]: the one Squirrel Scrat pursues resolutely for a lifetime and will never let go even if it causes a catastrophe from the animated film **_Ice Age_**.
[简体中文](./README_ZH.md) | English
## Features
- 🚀 70+ High Quality Components
- 📖 Based on JD APP 11.0 Visual Specifications
- 🍭 Support Tree Shaking
- 📖 Extensive Documentation and Demos
- 💪 Written in TypeScript
- 💪 Support SSR (Experimental)
- 🍭 Support Custom Themes
- 🍭 90%+ Unit Test Coverage
- 📖 Provide Sketch Design Resources
## Running locally
### running with H5
```sh
# Clone repository
git clone https://github.com/jdf2e/nutui-react.git
# Enter the project dictionary
cd nutui-react
# Install dependencies
pnpm install
# Start development
pnpm run dev
# visit in browser: http:http://localhost:3000 (you don't have to open it manually if you've run it in the browser again)
```
### running with Taro
```sh
# Clone the repository
git clone https://github.com/jdf2e/nutui-react.git
# Navigate to the project root directory
cd nutui-react
# Install dependencies
pnpm install
# Enter mini-program development mode
# Taro H5
pnpm dev:taro h5
# WeChat Mini Program
pnpm dev:taro weapp
# JD Mini Program
pnpm dev:taro jd
# For other platforms, refer to the scripts in the package.json file in the demo directory
```
### running with JDTaro
1. Add a .npmrc file in the root directory of the repository with the following configuration:
```shell
git-branch-lockfile=true
```
```sh
# Clone the repository
git clone https://github.com/jdf2e/nutui-react.git
# Navigate to the project root directory
cd nutui-react
# Install dependencies
pnpm install --ignore-pnpmfile
# Enter mini-program development mode
# Taro H5
pnpm dev:jdtaro h5
# WeChat Mini Program
pnpm dev:jdtaro weapp
# JD Mini Program
pnpm dev:jdtaro jd
# harmony cpp
pnpm dev:jdtaro:jdharmonycpp
```
## Build Versions
> If you are using AMD environment or build tools such as Webpack, Vite, etc., we recommend using the `es` version. If it is a non-module environment (such as direct reference through the `