Fes.js - 一个优秀的前端应用解决方案

开发 前端
Fee.js 以 Vue 3.0 和路由为基础,同时支持配置式路由和约定式路由,并以此进行功能扩展。配以覆盖编译时和运行时生命周期完善的插件体系,支持各种功能扩展和业务需求。以约定、配置化、组件化的设计思想,让用户仅仅关心用组件搭建页面内容。基于 Vue.js,上手简单。经过多个项目中打磨,趋于稳定。

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

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

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

[[392268]]

Fee.js

简介

Fee.js,是 WeBankFinTech 在 Github / Gitee 上开源的前端应用解决方案,目前版本为 0.4.5。

Fee.js 以 Vue 3.0 和路由为基础,同时支持配置式路由和约定式路由,并以此进行功能扩展。配以覆盖编译时和运行时生命周期完善的插件体系,支持各种功能扩展和业务需求。以约定、配置化、组件化的设计思想,让用户仅仅关心用组件搭建页面内容。基于 Vue.js,上手简单。经过多个项目中打磨,趋于稳定。

Fes.js - 一个优秀的前端应用解决方案

Fee.js

使用

Fes.js 是一个好用的前端应用解决方案。Fes.js 以 Vue 3.0 和路由为基础,同时支持配置式路由和约定式路由,并以此进行功能扩展。配以覆盖编译时和运行时生命周期完善的插件体系,支持各种功能扩展和业务需求。

Fee.js 主要具备以下特点:

  • 快速 ,内置了路由、开发、构建等,并且提供测试、布局、权限、国际化、状态管理、API请求、数据字典、SvgIcon等插件,可以满足大部分日常开发需求。
  • 简单 ,基于Vue.js 3.0,上手简单。贯彻“约定优于配置”思想,设计插件上尽可能用约定替代配置,同时提供统一的插件配置入口,简单简洁又不失灵活。提供一致性的API入口,一致化的体验,学习起来更轻松。
  • 健壮 ,只需要关心页面内容,减少写BUG的机会!提供单元测试、覆盖测试能力保障项目质量。
  • 可扩展 ,借鉴Umi实现了完整的生命周期和插件化机制,插件可以管理项目的编译时和运行时,能力均可以通过插件封装进来,在 Fes.js 中协调有序的运行。
  • 面向未来 ,在满足需求的同时,我们也不会停止对新技术的探索。已使用Vue3.0来提升应用性能,已使用webpack5提升构建性能和实现微服务,未来会探索vite等新技术。

 

Fes.js 把大家常用的技术栈封装成一个个插件进行整理,收敛到一起,让大家只用 Fes.js 就可以完成 80% 的日常工作。

Fes.js - 一个优秀的前端应用解决方案

Fee.js

Fes.js 支持插件和插件集,通过插件集把插件收敛依赖然后支持不同的业务类型。

Fes.js - 一个优秀的前端应用解决方案

Fee.js

Fee.js 依赖 Node.js 10.13+,并推荐使用 yarn 进行依赖管理。首先,创建工作空间:

  1. # 创建目录 workspace 
  2. mkdir workspace 
  3. # 进入目录 workspace 
  4. cd workspace 

然后在工作空间创建项目:

  1. # 创建模板 
  2. yarn create @fesjs/fes-app myapp 

项目结构创建完成后,安装依赖:

  1. # 进入项目目录 
  2. cd myapp 
  3. # 安装依赖 
  4. yarn  

安装完成后,启动项目:

  1. # 开发调试 
  2. yarn dev  
  3. yarn run v1.22.4 
  4. $ fes dev 
  5. Starting the development server http://localhost:8080 ...  
  6. ✔ Webpack   
  7. Compiled successfully in 15.91s   
  8. DONE  Compiled successfully in 15917ms       

启动完成后,访问 http://localhost:8080,我们就能看到 Fee.js 的基本界面:

Fes.js - 一个优秀的前端应用解决方案

Fee.js

如果需要部署发布,可以进行构建,然后使用 dist/ 目录进行发布:

  1. # 构建 
  2. yarn build  
  3. yarn run v1.22.4 
  4. $ fes build  
  5. ✔ Webpack   
  6. Compiled successfully in 45.37s  
  7. ✨  Done in 48.87s.  

Fee.js 的项目目录结构如下:

  1. fes-template 
  2. ├── package.json 
  3. ├── tsconfig.json 
  4. ├── mock.js 
  5. ├── .fes.js 
  6. ├── .env 
  7. ├── dist 
  8. ├── public 
  9. │   └── index.html 
  10. └── src 
  11.     ├── .fes 
  12.     └── pages 
  13.     │    └── index.vue 
  14.     └── app.js 

其中 src 包含核心逻辑代码,.fes 存储临时文件,pages 目录存放路由文件,app.js 为运行时配置文件。

Fes.js 约定 .fes.js 文件为项目基础配置文件,一份常见的配置示例如下:

  1. export default { 
  2.     base: '/foo/'
  3.     publicPath: '/'
  4.     devServer: { 
  5.         port: 8080 
  6.     } 
  7.     mock: { 
  8.         prefix: '/v2' 
  9.     }, 
  10.     proxy: { 
  11.         '/v2': { 
  12.             'target''https://api.douban.com/'
  13.             'changeOrigin'true,  
  14.         }, 
  15.     }, 
  16.     layout: { 
  17.         title: "Fes.js"
  18.         footer: 'Created by MumbelFe'
  19.         multiTabs: false
  20.         menus: [{ 
  21.             name'index' 
  22.         }, { 
  23.             name'onepiece' 
  24.         }, { 
  25.             name'store' 
  26.         }, { 
  27.             name'simpleList' 
  28.         }] 
  29.     } 

在配置文件中,我们定义了包括:服务路径、代理、Mock 服务、菜单等。

Fee.js 基于 Vue Router 实现其路由,通过在配置文件 .fee.js 中通过 router 进行配置即可:

  1. export default { 
  2.     router: { 
  3.         routes: [], 
  4.         mode: 'hash' 
  5.     } 
  6. }  

Fee.js 通过添加插件的方法来为项目添加额外的功能,包括:

  • 项目的 webpack 配置。
  • 修改项目的 babel 配置。
  • 添加新的 fes 命令 - 例如 @fes/plugin-jest 添加了 fes test 命令,允许开发者运行单元测试。
  • 集成 Vue 的插件。
  • 修改路由配置。
  • 提供运行时 API
  • ...

插件的入口是一个函数,函数会以 API 对象作为第一个参数:

  1. export default (api)=>{ 
  2.     api.describe({ 
  3.         key'esbuild'
  4.         config: { 
  5.             schema(joi) { 
  6.                 return joi.object(); 
  7.             }, 
  8.             default: {} 
  9.         }, 
  10.         enableBy: api.EnableBy.config, 
  11.     }); 
  12. }  

总结

Fee.js 是一个优秀的开源前端应用解决方案,以 Vue 3.0 和路由为基础,其具有快速、简单、健壮、可扩展、面向未来的特性。相比于其他前端框架,Fee.js 内置了各种基础组件,开发效率高,上手简单,使用统一配置,简单灵活;使用插件化的方式,使得开发流程可扩展性高。

[[392271]] 

 

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2009-07-28 11:37:55

7类布线端口

2013-08-26 09:18:52

2009-03-17 09:27:52

ITSMITIL解决方案

2018-11-05 11:06:38

openmediavaNAS 方案

2022-03-15 23:55:33

混合云云计算远程办公

2023-02-10 15:41:50

物联网物联网平台

2019-07-08 10:01:33

物联网IOT技术

2010-11-30 16:50:42

2011-05-05 15:36:25

深信服广域网加速

2020-08-10 08:30:23

开发软件开源

2022-07-19 14:41:00

安全

2012-03-21 11:10:00

JDBCMySQLJava

2020-09-04 13:50:35

前端异常监控代码

2023-03-29 10:48:28

2017-05-14 16:02:45

前端开发标签嵌套

2020-03-23 14:35:28

前端架构应用程序

2018-03-14 19:39:31

数据库Oracle临时表

2018-09-14 16:20:37

2023-09-21 23:08:36

MySQL数据库死锁

2009-08-04 15:18:11

C# Actor
点赞
收藏

51CTO技术栈公众号