基于Vuetify的预览1.概述2.ICON和COLOR设置展示3.RULE设置展示简介在做工作流服务的时候,深切感受到动态表单的重要性。于是,我慢慢摸索学习,结合自己的需求,搭建了这套动态表单系统。本系统基于lerna和yarnworkspaces构建,monorepo方式管理代码项目(我很喜欢这种方式,像Maven的模块化项目,最重要的是不要每个项目都有一堆node_modules)基于Vue2.0和Vuetify2.3。XX构建。没有使用Vue3,主要是因为Vuetify3还在开发中。常用组件用rollup编译,所有在现有认知范围内可以做的性能优化都处理了。示例模块基于vuewebpack方式,深度优化项目打包。项目中会有很多组件。本来是想从之前工作涉及到的通用的东西逐步搭建一个组件库(这个动态表单系统本身也是一个组件)。学习了标准化的组件库后,觉得以我现在的水平做不到,所以采用了monorepo的方式。本项目是后端老炮儿的前端。广度和深度肯定不如纯前端。如果您不喜欢它,请不要喷它。请多多包涵,多多交流,促进共同成长。在线体验[1]、开发环境配置(Windows)参考我的文章:Vue开发环境npm和Yarn环境变量配置[2]、全局安装如果想要正确运行本系统,需要提前安装一些全局工具,以便某些命令可以正常工作。请首先确保以上环境变量配置正确。//请提前全局安装组件npminstall-gyarnyarnglobaladdlerna@vue/cli[3],项目包名中各包用途说明当前版本用途说明@hecate/core1.0.0通用工具代码,组件包包含localforage、lodash、moment、shortid、sweetalert2和通用工具代码@hecate/example1.0.0组件示例及运行项目可以运行和使用本项目中已有的组件,也可以理解为组件开发环境@hecate/form-service1.0.0Nuxt环境动态表单SSR验证环境@hecate/h-button1.0.0自定义按钮组件自封装按钮带Tooltip@hecate/h-code-editor1.0.0代码编辑器组件基于代码编辑器codemirror包,支持多种语言,通过界面菜单等方式控制,有代码提示,各种功能。@hecate/h-code-mirror1.0.0代码编辑器基础组件基于codemirror封装的代码编辑器,支持多种语言,无参数控制界面,需要手动传参@hecate/h-form-generator1.0.0动态表单编辑组件基于Vuetify的动态表单设计器@hecate/h-form-renderer1.0.0动态表单组件绘图组件动态表单渲染核心组件,参考koumoul-dev/vuetify-jsonschema-form。目前重构还未完成,需要根据支持组件的不断添加逐步重构完善@hecate/h-form-runtime1.0.0动态表单预览组件基于生成的Schema展示表单component@hecate/h-icon-list1.0.0图标选择组件是根据materialdesignicons封装的图标进行查询和选择组件[4],常用命令指定包,在某个包下执行yarn命令yarnws:**//例如://添加包(来自npm)yarnws:exampleaddlodash-D//删除包yarnws:exampleremovelodash//runexampleyarnws:exampleserve将组件添加到这个项目中依赖包(还没有上传到npm)//把h-button放到项目中Addtoexample//注意:不支持多批次,需要一个一个添加lernaadd@hecate/h-button--scope@hecate/example//要删除这个项目中的组件,使用yarncommandtoyarnws:exampleremove@hecate/h-button在根目录添加依赖包//-W表示工作空间,如果要操作工程级包,这个参数不能少//-D指定devDependencies的含义//添加组件yarnaddlodash-D-W//删除组件yarnaddlodash-W升级依赖包yarnupgrade-interactive--latest//升级全局依赖包yarnglobalupgrade-interactive--latest编译所有组件lernarunlibclearcomponentsdistlernarunclean清除各个组件中的node_moduleslernaclean,并重新关联各个组件中的依赖包lernabootstrap或yarninstall提交代码yarnpush[5],问题解决问题1:升级时出错依赖包使用yarnupgrade-interactive--latest命令升级依赖包有时,尤其是在@hecate/form-service中,当有依赖包可以升级时(视觉上由于Nuxt的使用),经常出现如下错误。不变量违规:预期工作空间包存在于不变量(D:\LocalCaches\yarn\global\node_modules\yarn\lib\cli.js:2314:15)at_loop2(D:\LocalCaches\yarn\global\)node_modules\yarn\lib\cli.js:94537:9)在PackageHoister.init(D:\LocalCaches\yarn\global\node_modules\yarn\lib\cli.js:94596:19)在PackageLinker.getFlatHoistedTree(D:\LocalCaches\yarn\global\node_modules\yarn\lib\cli.js:48744:20)在PackageLinker.
