• Stars
    star
    1,390
  • Rank 33,811 (Top 0.7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 4 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fes.js 是一个基于 Vue 3 好用的前端应用解决方案。以约定、配置化、组件化的设计思想,让用户仅仅关心用组件搭建页面内容。技术曲线平缓,上手也简单。在经过多个项目中打磨后趋于稳定。丰富的 Vue 3 生态 和 Fes.js 插件,让业务开发更加简单快捷~

简体中文 | English

fes.js

一个优秀的前端解决方案

GitHub issues MIT PRs Welcome Page Views Count

痛点

在开发一个前端项目之前,我们可能需要做如下准备工作:

  • 搭建开发环境
  • 约定代码规范
  • 封装 API 请求
  • 配置路由
  • 实现布局、菜单、导航
  • 实现登录
  • 权限管理
  • ...

除了准备工作之外,还会遇到很多相似的业务类型,比如中后台应用大多都是工作台、增删改查、权限、图表等。如果每次项目都完全手动处理一遍,不仅耗费时间,久而久之可能会存在多种技术栈、开发规范,导致开发流程不统一,历史项目越来越难维护。所以我们需要一套完整的解决方案,管理开发到部署整个流程。

Fes.js 是什么?

Fes.js 是一个好用的前端应用解决方案。提供覆盖编译构建到代码运行的每个生命周期的插件体系,支持各种功能扩展和业务需求。以 路由为基础,同时支持配置式路由和约定式路由,保证路由的功能完备。整体上以约定、配置化、组件化的设计思想,让用户仅仅关心用组件搭建页面内容。基于 Vue.js3.0,充分利用 Vue 丰富的生态。技术曲线平缓,上手也简单。在经过多个项目中打磨后趋于稳定。

它主要具备以下功能:

  • 🚀 快速 ,内置了路由、开发、构建等,并且提供测试、布局、权限、国际化、状态管理、API 请求、数据字典、SvgIcon 等插件,可以满足大部分日常开发需求。

  • 🧨 简单 ,基于 Vue.js 3.0,上手简单。贯彻“约定优于配置”思想,设计插件上尽可能用约定替代配置,同时提供统一的插件配置入口,简单简洁又不失灵活。提供一致性的 API 入口,一致化的体验,学习起来更轻松。

  • 💪 健壮 ,只需要关心页面内容,减少写 BUG 的机会!提供单元测试、覆盖测试能力保障项目质量。

  • 📦 可扩展 ,借鉴 Umi 实现了完整的生命周期和插件化机制,插件可以管理项目的编译时和运行时,能力均可以通过插件封装进来,在 Fes.js 中协调有序的运行。

  • 📡 面向未来 ,在满足需求的同时,我们也不会停止对新技术的探索。已使用 Vue3.0 来提升应用性能,已使用 webpack5 和 vite 提升构建性能和实现微服务。

插件

插件 介绍
@fesjs/plugin-access 提供对页面资源的权限控制能力
@fesjs/plugin-enums 提供统一的枚举存取及丰富的函数来处理枚举
@fesjs/plugin-icon svg 文件自动注册为组件
@fesjs/plugin-jest 基于 Jest,提供单元测试、覆盖测试能力
@fesjs/plugin-layout 简单的配置即可拥有布局,包括导航以及侧边栏
@fesjs/plugin-locale 基于 Vue I18n,提供国际化能力
@fesjs/plugin-model 简易的数据管理方案
@fesjs/plugin-request 基于 Axios 封装的 request,内置防止重复请求、请求节流、错误处理等功能
@fesjs/plugin-vuex 基于 Vuex, 提供状态管理能力
@fesjs/plugin-qiankun 基于 qiankun,提供微服务能力
@fesjs/plugin-sass 样式支持 sass
@fesjs/plugin-monaco-editor 提供代码编辑器能力, 基于monaco-editor(VS Code 使用的代码编辑器)
@fesjs/plugin-windicss 基于 windicss,提供原子化 CSS 能力
@fesjs/plugin-pinia pinia,状态处理
@fesjs/plugin-watermark 水印
@fesjs/plugin-swc webpack构建中使用 swc-loader,构建速度蹭蹭蹭

像数 1, 2, 3 一样容易

使用 pnpm

# 创建模板
pnpm create @fesjs/fes-app myapp

# 安装依赖
pnpm i

# 运行
pnpm dev

使用 npm

# 创建模板
npx @fesjs/create-fes-app myapp

# 安装依赖
npm install

# 运行
npm run dev

在 Cloud IDE 中预览

https://idegithub.com/WeBankFinTech/fes.js

反馈

Github Issue Fes.js 开源运营小助手
@fesjs/fes.js/issues

参与共建

我们非常欢迎社区同学能提交 PR:

  1. fork 项目!
  2. 创建你的功能分支: git checkout -b my-new-feature
  3. 本地提交新代码: git commit -am 'Add some feature'
  4. 推送本地到服务器分支: git push origin my-new-feature
  5. 创建一个 PR

如果是发现 Bug 或者期望添加新功能,请提交issue

社区活动

Fesjs 社区有奖征文活动

为了 Fes.js 开源项目更好的运转,同时回馈开源社区,社区推出有奖征文活动!欢迎大家投递实践经验,给社区用户,更广泛的开发者提供借鉴。

经验输出也可以帮助到你系统沉淀自有项目,梳理工作思路,也能够帮助你的技术博客做宣传。优秀的实践案例将有机会邀请参与项目社区技术会议分享,赶快来参与吧。 请戳:https://mp.weixin.qq.com/s/nV4NG_OUUrdgtft8g_IW4g

More Repositories

1

DataSphereStudio

DataSphereStudio is a one stop data application development& management portal, covering scenarios including data exchange, desensitization/cleansing, analysis/mining, quality measurement, visualization, and task scheduling.
Java
3,050
star
2

Scriptis

Scriptis is for interactive data analysis with script development(SQL, Pyspark, HiveQL), task submission(Spark, Hive), UDF, function, resource management and intelligent diagnosis.
Vue
806
star
3

Qualitis

Qualitis is a one-stop data quality management platform that supports quality verification, notification, and management for various datasource. It is used to solve various data quality problems caused by data processing. https://github.com/WeBankFinTech/Qualitis
Java
693
star
4

WeDataSphere

WeDataSphere is a financial grade, one-stop big data platform suite.
653
star
5

Prophecis

Prophecis is a one-stop cloud native machine learning platform.
Go
475
star
6

Exchangis

Exchangis is a lightweight,highly extensible data exchange platform that supports data transmission between structured and unstructured heterogeneous data sources
Java
447
star
7

Schedulis

Schedulis is a high performance workflow task scheduling system that supports high availability and multi-tenant financial level features, Linkis computing middleware, and has been integrated into data application development portal DataSphere Studio
Java
387
star
8

Visualis

Visualis is a BI tool for data visualization. It provides financial-grade data visualization capabilities on the basis of data security and permissions, based on the open source project Davinci contributed by CreditEase.
TypeScript
261
star
9

wxa

🖖 轻量级的小程序开发框架。可以渐进接入的小程序开发框架,专注于小程序原生开发,提供更好的工程化、代码复用能力,提高开发效率并改善开发体验。
JavaScript
226
star
10

Dockin

微众银行开源的基于私有云的容器平台
209
star
11

WeBank-all-Project

All the project addresses participated and established by WeBank are collected.汇集了微众银行参与和建立的所有项目地址。
202
star
12

DeFiBus

DeFiBus is a decentralized finacial message bus for microservices, provide request/reply, unicast, multi-cast, broadcast, delay-message etc, and also privide service governance capacity and operation tools.
Java
191
star
13

KoalaForm

中后台前端低代码表单
TypeScript
145
star
14

fes-design

Vue3 组件库,Typescirpt 编写,高性能,支持按需引入、国际化、配置主题,适配低代码。
TypeScript
139
star
15

WeTrident

一站式App开发套件,帮助开发者快速开发可正式上线运营的App。
JavaScript
125
star
16

DataSphereStudio-Doc

DataSphereStudio documents.
110
star
17

Streamis

Streaming application development and management system, based on Linkis and DSS, planning to provide the workflow-like graphical drag-and-drop development capability.
Java
103
star
18

Dockin-Installer

Production-grade highly available container platform
Shell
59
star
19

incubator-linkis-doc

incubator-linkis-doc has been migrated to incubator-linkis-website: https://github.com/apache/incubator-linkis-website
40
star
20

Dockin-RM

Dockin container platform resource manager is the core module for application definition and container instance management
Java
40
star
21

Dockin-Ops

dockin ops is a project used to handle the exec request for kubernetes under supervision
Go
37
star
22

wt-console

A lightweight, extendable react-native developer and tester tool
JavaScript
34
star
23

Dockin-CNI

kubernetes cni plugin, support fixed ip
Go
31
star
24

eventmesh-connector-defibus

connector for defibus in eventmesh
Java
8
star
25

wxa-vscode

微信小程序开发助手。开箱即用,安装完毕你将获得:代码自动填充、格式化; 语法高亮、检查(包括wxml、wxs文件); 代码片段提示; 单文件组件支持
TypeScript
8
star
26

TractionWidget

牵引小组件
Vue
7
star
27

react-native-rtext

JavaScript
6
star
28

WeCloudStack

Webank Financial Cloud (native) tech Stack for building cloud (native) applications.
1
star
29

wxa-templates

1
star