安装使用
快速上手项目开发
需要安装Node.js v16及以上版本。
安装与运行
获取项目代码
git clone https://github.com/nihaojob/vue-fabric-editor.git
安装依赖
cd vue-fabric-editor
npm install
运行
npm run dev
打包
npm run build
项目目录
核心文件在core目录中,功能组件在components中。
├── src
│ ├── App.tsx
│ ├── App.vue
│ ├── assets // 静态资源
│ │ ├── editor
│ │ ├── filters
│ │ └── fonts
│ ├── components // vue功能组件
│ │ ├── align.vue // 元素对齐
│ │ ├── attribute.vue // 属性修改
│ │ ├── bgBar.vue // 画布设置
│ │ ├── centerAlign.vue // 居中对齐
│ │ ├── clone.vue // 复制
│ │ ├── color.vue // 颜色组件 支持渐变与单色设置
│ │ ├── contextMenu // 右键菜单
│ │ ├── del.vue // 元素删除
│ │ ├── dragMode.vue //
│ │ ├── filters.vue // 滤镜
│ │ ├── flip.vue // 反转
│ │ ├── fontTmpl.vue // 字体样式模板
│ │ ├── group.vue // 组合操作
│ │ ├── history.vue // 历史记录
│ │ ├── importFile.vue // 插入图片文件
│ │ ├── importJSON.vue // 导入JSON文件
│ │ ├── importTmpl.vue // 模板
│ │ ├── inputNumber // 数字左键 支持左右滑动调节
│ │ ├── lang.vue // 国际化
│ │ ├── layer.vue // 图层管理
│ │ ├── lock.vue // 图层锁定
│ │ ├── previewCurrent.vue // 图片预览
│ │ ├── replaceImg.vue // 图片替换
│ │ ├── save.vue // 文件保存 支持图片、JSON格式
│ │ ├── setSize.vue
│ │ ├── svgEl.vue // 分类SVG素材
│ │ ├── svgIcon
│ │ ├── tools.vue // 插入元素
│ │ └── zoom.vue // 画布缩放功能
│ ├── config
│ │ └── constants
│ ├── core // 编辑器核心文件
│ │ ├── EditorGroupText.ts // 组内文字可编辑
│ │ ├── EditorWorkspace.ts //画布区域模拟
│ │ ├── index.ts // 入口文件
│ │ ├── initAligningGuidelines.ts // 辅助线工
│ │ ├── initCenterAlign.ts // 对齐方式功能
│ │ ├── initControls.ts // 自定义控制条
│ │ ├── initControlsRotate.ts // 自定义控制条
│ │ ├── initHotKeys.ts // 快捷键
│ │ ├── initializeLineDrawing.js // 线条绘制
│ │ ├── objects // 自定义元素 箭头、线条
│ │ └── ruler // 标尺功能
│ ├── env.d.ts
│ ├── hooks
│ │ └── select.js
│ ├── language // 国际化文件
│ │ ├── en.json
│ │ ├── index.ts
│ │ ├── pt.json
│ │ └── zh.json
│ ├── main.ts
│ ├── mixins
│ │ └── select.ts
│ ├── router
│ │ ├── index.ts
│ │ └── routes.ts
│ ├── styles
│ │ ├── index.less
│ │ ├── resetViewUi.less
│ │ └── variable.less
│ ├── utils
│ └── views
│ └── home // 程序入口
├── tsconfig.json
├── tsconfig.node.json
├── typings
│ ├── extends.d.ts
│ └── vue3-clipboard.d.ts
└── vite.config.ts
架构说明
通过组件 src/views/home.vue 作为入口文件,初始化Core功能代码的实例,并将实例通过 Provide/inject的方式注入到各个业务组件中,组件调用Core实例提供的API方法来实现业务功能。
最后更新于