# 欢迎使用 openinula!

## 项目介绍：

openinula 是一款用于构建用户界面的Javascript库。
openinula 提供响应式API，相比virtual dom方式，提升渲染效率30%以上。
openinula 提供了5大常用核心组件：状态管理器、路由、国际化、请求组件、应用脚手架，帮助开发者高效、高质量的构筑产品前端。
openinula 同时兼容了React API和相关生态（react-redux、react-router、react-intl、axios等）。

## 安装指南

欢迎使用响应式前端框架 openinula！本指南将为您提供详细的安装步骤，以便您可以开始在前端项目中使用该框架。

### 步骤1：安装openinula

您可以通过以下几种方式安装openinula

#### 使用npm安装

首先，确保您已经安装了 Node.js。你可以在终端中运行以下命令来检查是否已经安装：

```shell
node -v
```

如果成功显示 Node.js 的版本号，则说明已经安装。

在命令行中运行以下命令来通过npm安装 openinula：

```shell
npm install openinula
```

#### 使用yarn安装

首先，确保您已经安装了 Node.js。具体操作可参考使用 npm 安装第一步

借来确保您已经安装了 yarn，您可以通过以下命令来安装 Yarn（全局安装）：

```shell
npm install -g yarn
```

安装完成后，你可以在终端中运行以下命令来验证 yarn 是否成功安装：

```shell
yarn --version
```

如果成功显示 yarn 的版本号，则说明安装成功。

最后，在命令行中运行以下命令来通过yarn安装openinula：

```shell
yarn add openinula
```

注意：yarn 和 npm 是两个独立的包管理器，您可以根据自己的喜好选择使用哪个。它们可以在同一个项目中共存，但建议在一个项目中只使用其中一个来管理依赖。

### 步骤2：开始使用openinula

恭喜！您已经成功安装了openinula。现在您可以根据您的项目需求自由使用openinula提供的组件和功能。

请查阅openinula的用户使用指南文档以了解更多关于如何使用和配置框架的详细信息。

## 贡献指南

本指南会指导你如何为openinula贡献自己的一份力量，请你在提出issue或pull request前花费几分钟来了解openinula社区的贡献指南。

### 行为准则

我们有一份**行为准则**，希望所有的贡献者都能遵守，请花时间阅读一遍全文以确保你能明白哪些是可以做的，哪些是不可以做的。

#### 我们的承诺

身为社区成员、贡献者和领袖，我们承诺使社区参与者不受骚扰，无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。

我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。

#### 我们的准则

**有助于为我们的社区创造积极环境的行为例子包括但不限于：**

- 表现出对他人的同情和善意
- 尊重不同的主张、观点和感受
- 提出和大方接受建设性意见
- 承担责任并向受我们错误影响的人道歉
- 注重社区共同诉求，而非个人得失

**不当行为例子包括：**

- 使用情色化的语言或图像，及性引诱或挑逗
- 嘲弄、侮辱或诋毁性评论，以及人身或政治攻击
- 公开或私下的骚扰行为
- 未经他人明确许可，公布他人的私人信息，如物理或电子邮件地址
- 其他有理由认定为违反职业操守的不当行为

#### 责任和权力

社区领袖有责任解释和落实我们所认可的行为准则，并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。

社区领导有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论（comment）、提交（commits）、代码、维基（wiki）编辑、议题（issues）或其他贡献，并在适当时机知采取措施的理由。

#### 适用范围

本行为准则适用于所有社区场合，也适用于在公共场所代表社区时的个人。

代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。

#### 监督

辱骂、骚扰或其他不可接受的行为可通过 XX@XXX.com 向负责监督的社区领袖报告。 所有投诉都将得到及时和公平的审查和调查。

所有社区领袖都有义务尊重任何事件报告者的隐私和安全。

#### 参见

本行为准则改编自 Contributor Covenant 2.1 版, 参见 https://www.contributor-covenant.org/version/2/1/code_of_conduct.html。

### 公正透明的开发流程

我们所有的工作都会放在 [Gitee](https://www.gitee.com) 上。不管是核心团队的成员还是外部贡献者的 pull request 都需要经过同样流程的 review。

### 分支管理

openinula长期维护XX分支。如果你要修复一个Bug或增加一个新的功能，那么请Pull Request到XX分支上

### Bug提交

我们使用 Gitee Issues来进行Bug跟踪。在你发现Bug后，请通过我们提供的模板来提Issue，以便你发现的Bug能被快速解决。
在你报告一个 bug 之前，请先确保不和已有Issue重复以及查阅了我们的用户使用指南。

### 新增功能

如果你有帮助我们改进API或者新增功能的想法，我们同样推荐你使用我们提供Issue模板来新建一个添加新功能的 Issue。

### 第一次贡献

如果你还不清楚怎么在 Gitee 上提交 Pull Request，你可以通过[这篇文章](https://oschina.gitee.io/opensource-guide/guide/%E7%AC%AC%E4%B8%89%E9%83%A8%E5%88%86%EF%BC%9A%E5%B0%9D%E8%AF%95%E5%8F%82%E4%B8%8E%E5%BC%80%E6%BA%90/%E7%AC%AC%207%20%E5%B0%8F%E8%8A%82%EF%BC%9A%E6%8F%90%E4%BA%A4%E7%AC%AC%E4%B8%80%E4%B8%AA%20Pull%20Request/#%E4%BB%80%E4%B9%88%E6%98%AF-pull-request)学习

当你想开始处理一个 issue 时，先检查一下 issue 下面的留言，确保没有其他人正在处理。如果没有，你可以留言告知其他人你将处理这个 issue，避免重复劳动。

### 开发指南

openinula团队会关注所有Pull Request，我们会review以及合入你的代码，也有可能要求你做一些修改或者告诉你我们我们为什么不能接受你的修改。

在你发送 Pull Request 之前，请确认你是按照下面的步骤来做的：

1. 确保基于正确的分支进行修改，详细信息请参考[这里](#分支管理)。
2. 在项目根目录下运行了 `npm install`。
3. 如果你修复了一个 bug 或者新增了一个功能，请确保新增或完善了相应的测试，这很重要。
4. 确认所有的测试都是通过的 `npm run test`
5. 确保你的代码通过了 lint 检查 `npm run lint`.

#### 常用命令介绍

1. `npm run build` 同时构建openinula UMD的prod版本和dev版本
2. `build-types` 单独构建openinula的类型提示@types目录

## 开源许可协议

请查阅 License 获取开源许可协议的更多信息.

版权说明：

openinula 前端框架，版权所有 © 2023-，openinula开发团队。保留一切权利。

除非另有明示，本网站上的内容采用以下许可证进行许可：Creative Commons Attribution 4.0 International License。

如需了解更多信息，请查看完整的许可证协议：https://creativecommons.org/licenses/by/4.0/legalcode
