Elux- 将企业级工程化框架带入小程序开发
基于“微模块”和“模型驱动”的跨平台、跨框架同构方案:https://eluxjs.com
Elux 将企业级工程化框架引入小程序开发,支持 React/Vue,支持 Web(浏览器页面)SSR(服务器渲染)Micro(微前端)Taro(小程序)APP(手机应用)
Elux 特色
Elux 不只是一个 JS 框架,更是一种基于“微模块”和“模型驱动”的跨平台、跨框架同构方案。它将稳定的业务逻辑与多样化的运行平台、UI 框架进行剥离,让核心逻辑得到充分的简化、隔离和复用。
微模块
将业务领域的模块化带入前端,各微模块可独立开发、灵活拆装、按需加载、版本控制,是一种更自由、更细粒度的微前端。
更多参见 Elux 设计思想:从“微前端”到“微模块”
模型驱动
以业务逻辑的数据模型作为核心驱动,减少对运行平台、UI 框架的强依赖和干挠,给您一个清爽的上帝的视角开发和运行应用。
更多参见 Elux 设计思想:借助"模型驱动"实现跨端开发
统一的虚拟路由
Elux 抹平了各平台、各 UI 库中路由的千差万别,实现了统一的带二维历史栈的虚拟路由,并催生出独有的虚拟多页,让单页和多页彼此扬长避短...
更多参见 Elux 设计思想:基于双栈单链的“虚拟路由”+“虚拟多页”
跨平台、跨框架同构
支持:React/Vue,支持:Web(浏览器页面)SSR(服务器渲染)Micro(微前端)Taro(小程序)APP(手机应用)
更多介绍参见:Elux介绍
使用 Elux 的工程结构
我们先看一下时下流行的前端工程目录,假设有独立的功能:ModuleA 和 ModuleB
其特点是以“文件职能”作为一级分类、“功能模块”作为次级分类。
现在如果我需要拿掉 ModuleB,或者新增 ModuleC,你将不得不进行多个目录的操作。随着文件越来越多,相互引用越来越复杂,ModuleB 的相关资源和依赖像一堆乱麻散落在各个不同文件和文件夹中,你会发现要干净的剥离 ModuleB 是一个巨大的任务...
那应当如何改进呢?
将“功能模块”作为一级分类,“文件职能”作为次级分类
注意模块的对外封装,不要随意绕过封装来引用模块内部资源
以下是 Elux 工程的常用结构:
可以看到在 Elux 工程中,所有与功能模块相关的文件都被放到了一个独立的文件夹中,并通过 index 文件统一对外导出,这便是 Elux 中微模块得以独立开发、安装和运行的基础。
Elux 安装使用方法
Cli 工具安装
使用 npm 或者 yarn 全局安装 @elux/cli-init
初始化新工程向导
如果你不想全局安装,只是想看看案例,也可以一条命令搞定:
注意在向导中选择 Taro 工程模版:
评论