mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-04-06 03:59:53 +08:00
docs: 贡献指南
This commit is contained in:
parent
72c74370d3
commit
2c0040158c
@ -23,9 +23,13 @@ Fes.js 是一套好用的前端应用解决方案。Fes.js 以 Vue 3.0 和路由
|
||||
|
||||
它主要具备以下功能:
|
||||
- :rocket: __快速__ ,内置了路由、开发、构建等,并且提供测试、布局、权限、国际化、状态管理、API请求、数据字典、SvgIcon等插件,可以满足大部分日常开发需求。
|
||||
|
||||
- :firecracker: __简单__ ,基于Vue.js 3.0,上手简单。贯彻“约定优于配置”思想,设计插件上尽可能用约定替代配置,同时提供统一的插件配置入口,简单简洁又不失灵活。提供一致性的API入口,一致化的体验,学习起来更轻松。
|
||||
|
||||
- 💪 __健壮__ ,只需要关心页面内容,减少写BUG的机会!提供单元测试、覆盖测试能力保障项目质量。
|
||||
|
||||
- :package: __可扩展__ ,借鉴Umi实现了完整的生命周期和插件化机制,插件可以管理项目的编译时和运行时,能力均可以通过插件封装进来,在 Fes.js 中协调有序的运行。
|
||||
|
||||
- 📡 __面向未来__ ,在满足需求的同时,我们也不会停止对新技术的探索。已使用Vue3.0来提升应用性能,已使用webpack5提升构建性能和实现微服务,未来会探索vite等新技术。
|
||||
|
||||
|
||||
|
@ -4,23 +4,23 @@
|
||||
|
||||
项目仓库借助于 [Yarn Classic 工作区](https://classic.yarnpkg.com/zh-Hans/docs/workspaces) 来实现 [Monorepo](https://en.wikipedia.org/wiki/Monorepo) ,在 `packages` 目录下存放了多个互相关联的独立 Package 。
|
||||
|
||||
- `@vuepress/core`: Core 模块。提供 Node API 来创建 VuePress App ,包括页面逻辑、插件系统、数据准备等功能。
|
||||
- `@webank/create-fes-app`: 创建项目模板模块。提供`create-fes-app`命令,提供创建多种类型项目模板的能力。
|
||||
|
||||
- `@vuepress/client`: Client 模块。包含客户端页面入口,并提供了客户端开发时可以用到的类型和工具函数。
|
||||
- `@webank/fes`: 入口模块。提供`fes`命令和 API 入口。
|
||||
|
||||
- `@vuepress/bundler-webpack`: 基于 Webpack 的 Bundler 模块。使用 Webpack 对 VuePress App 执行 `dev` 和 `build` 操作。
|
||||
- `@webank/fes-compiler`: 编译时插件管理模块。定义插件的生命周期、插件配置、插件通讯机制等。
|
||||
|
||||
- `@vuepress/cli`: 命令行接口 (CLI) 模块。包含解析用户配置文件、调用 `@vuepress/core` 创建 VuePress App 、调用 `@vuepress/bundler-${name}` 来执行对应命令等功能。
|
||||
- `@webank/fes-runtime`: 运行时插件模块。集成了vue-router,定义运行时插件生命周期、插件通讯机制。
|
||||
|
||||
- `@vuepress/theme-default`: 默认主题。
|
||||
- `@webank/fes-preset-build-in`: 内置插件集。包含`dev`、`build`等命令,集成webpack5+babel,提供方便编写插件的API,入口文件处理,路由处理等能力。
|
||||
|
||||
- `@vuepress/plugin-${name}`: 官方插件。
|
||||
- `@webank/fes-template`: 适用于PC类型的模板项目。
|
||||
|
||||
- `@vuepress/shared`: 既可以在 Node 端使用、也可以在客户端使用的工具函数模块。
|
||||
- `@webank/fes-template-h5`: 适用于H5类型的模板项目。
|
||||
|
||||
- `@vuepress/utils`: 仅可以在 Node 端使用的工具函数模块。
|
||||
- `@webank/fes-plugin-${name}`: 官方插件。
|
||||
|
||||
- `vuepress`: 是 `@vuepress/cli` + `@vuepress/bundler-webpack` + `@vuepress/theme-default` 的简单封装。如果用户想使用 默认主题 + Webpack ,仅安装这个 Package 就可以了。
|
||||
- `@webank/fes`: 是 `@webank/compiler` + `@webank/fes-runtime` + `@webank/fes-preset-build-in` 的封装。用户只需要安装此依赖和额外的插件或者插件集。
|
||||
|
||||
## 开发配置
|
||||
|
||||
@ -38,7 +38,7 @@ yarn
|
||||
监听源文件修改:
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
yarn build
|
||||
```
|
||||
|
||||
打开另一个终端,开始开发项目文档网站:
|
||||
@ -49,56 +49,22 @@ yarn docs:dev
|
||||
|
||||
本项目开发使用的一些主要工具:
|
||||
|
||||
- [TypeScript](https://www.typescriptlang.org/) 作为开发语言
|
||||
- [Jest](https://jestjs.io/) 用于单元测试
|
||||
- [ESLint](https://eslint.org/) + [Prettier](https://prettier.io/) 用于代码检查和格式化
|
||||
- [@umi/father](https://github.com/umijs/father) 用于将ES6语法编译成ES5或者CommonJS
|
||||
|
||||
## 开发脚本
|
||||
|
||||
### `yarn build`
|
||||
|
||||
`build` 命令会使用 `tsc` 将 TS 源文件编译为 JS 文件。
|
||||
|
||||
你在克隆代码仓库后,可能需要先执行该命令来确保项目代码可以顺利运行,因为编译后的 JS 文件被 `.gitignore` 排除在仓库以外了。
|
||||
|
||||
### `yarn copy`
|
||||
|
||||
`copy` 命令会执行所有子 Package 中的 `copy` 命令,将一些资源文件从源代码目录复制到输出目录。
|
||||
|
||||
一些资源文件(如 `.vue`, `.styl` 文件等)不能被 `build` 命令处理,但是同样需要将他们放置到输出目录中。
|
||||
|
||||
你在克隆代码仓库后,可能也需要先执行该命令来确保项目代码可以顺利运行。
|
||||
|
||||
### `yarn dev`
|
||||
|
||||
`dev` 命令使用监听 (watch) 模式执行 `copy` 和 `build` 命令。
|
||||
|
||||
### `yarn clean`
|
||||
|
||||
`clean` 命令会执行所有子 Package 中的 `clean` 命令,清除所有的输出文件目录和缓存文件。换言之,它将移除所有通过 `build` 和 `copy` 命令生成的文件。
|
||||
|
||||
当你想要从最初状态重新构建源代码时,你可以执行该命令。
|
||||
|
||||
### `yarn docs:*`
|
||||
|
||||
#### `yarn docs:build`, `yarn docs:dev`, `yarn docs:clean`
|
||||
`build` 命令会使用 `father-build` 将 ES6 编译为 CommonJS。
|
||||
|
||||
本项目在编写Node端的代码时也用ES6,所以你在克隆代码仓库后,可能需要先执行该命令来确保项目代码可以顺利运行,因为编译后的 JS 文件被 `.gitignore` 排除在仓库以外了。
|
||||
### `yarn docs:dev`
|
||||
`docs:` 前缀表明,这些命令是针对文档 (documentation) 进行操作的,即 `docs` 目录。
|
||||
使用 Vue Press在本地启动文档网站服务器,用于实时查看文档效果。
|
||||
|
||||
VuePress 使用它自己来构建自己的文档网站。
|
||||
|
||||
你需要先执行 `yarn build && yarn copy` 来构建 VuePress 源代码,然后再运行这些 `docs:` 开头的命令来开发或构建文档。
|
||||
|
||||
#### `yarn docs:serve`
|
||||
|
||||
在本地启动文档网站服务器。
|
||||
|
||||
你需要先运行 `yarn docs:build` 来生成文档网站的输出文件,然后再通过该命令来启动文档网站。
|
||||
|
||||
### `yarn lint`
|
||||
|
||||
`lint` 命令使用 ESLint 来检查所有源文件。
|
||||
|
||||
### `yarn test`
|
||||
|
||||
`test` 命令使用 Jest 来运行单元测试。
|
||||
### 调试功能
|
||||
在开发完插件代码后,需要在template项目中验证功能
|
||||
- 进入`packages/template`目录
|
||||
- 执行`yarn dev`
|
Loading…
x
Reference in New Issue
Block a user