You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
将企业级前端架构带入Taro工程...
基于“微模块”和“模型驱动“,跨平台、跨框架。支持React/Vue,支持Web(浏览器页面)SSR(服务器渲染)Micro(微前端)Taro (小程序)APP(手机应用)
框架官网
https://eluxjs.com/
Github仓库
https://github.com/hiisea/elux
一行命令试用
npm create elux@latest 或 yarn create elux
微模块
将业务领域的模块化带入前端,各微模块可独立开发、灵活拆装、按需加载、版本控制,是一种更自由、更细粒度的微前端。
更多参见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
初始化新工程向导
如果你不想全局安装,只是想看看案例,也可以一条命令搞定:
关于工程模版
官方默认提供一个简单增删改查的工程模版(包括H5页面风格和Admin后台管理系统风格),里面写了大量注释,建议边看示例,边看文档,快速上手...
关于Taro项目
模版中的Taro项目基于Taro特定版本制作,开箱即用,但可能版本滞后。如果想使用官方最新版本,也可以自己在Taro项目中安装Elux
在Taro工程中安装Elux
使用taro的cli命令生成新项目(使用Typescript)
增加elux相关依赖,修改./package.json:
修改./babel.config.js 为:
更多参见:在Taro项目中手动安装Elux
例子
一行命令即可查看Taro+Elux实例:
注意在向导中选择Taro工程模版
Beta Was this translation helpful? Give feedback.
All reactions