Project Helper
基于electron开发的桌面应用程序,顾名思义,是一个项目助手工具。
目前功能:
- psd文件解析,生成html和css;
- 项目构建,及其模板配置(预设有vue、react、微信小程序);
- 图片压缩(tinypng破解),本地图片预处理等;
技术栈关键词:
- electron
- vue3
- nodejs
- psdjs(psd解析插件)
- jimp(图片处理插件)
- tinypng(破解频率限制)
- iconfont(字体图标)
以下已勾选的则是已完成内容
PSD解析模块:
- 文件体积
- 宽高读取
- 图层数统计
- 图层导出png图片
项目构建模块:
- 页面/组件名称配置
- 输出目录配置
- 集成tiny压缩
- html生成
- css生成
- 类型控制:页面、组件
- 构建配置:css单位
- 构建配置:容器标签
- 构建配置:图片标签
- 构建配置:类属性名及css选择器
- 构建配置:路由生成配置
- 构建配置:页面路径、组件路径、图片路径
- 构建配置:页面/组件文件配置,及模板内容
- 构建预设:vue
- 构建预设:react
- 构建预设:微信小程序
- 自定义构建预设
- 配置持久化
- 单个文件的构建和压缩loading
- 构建结果报告(用时、构建产物体积等)
Tiny压缩模块:
- 可控替换原图
- 图片信息:体积、名称、路径、宽高
- 本地预处理:最大宽度
- 本地预处理:最大高度
- 本地预处理:图片质量
- Tinypng频率限制破解
- Tiny配置:最小体积
- Tiny配置:最大体积
- 压缩结果,压缩比例
- 配置持久化
- 压缩结果报告(用时、缩小体积等)
文件选取模块:
- 添加文件
- 清空列表
- 单个移除
- 拖拽上传
- 文件夹读取
项目构建-初始
项目构建-选取ps文件后
项目构建-构建配置
构建配置-路由模板编辑
构建配置-页面文件编辑
以下为React构建预设的结果:
构建结果-路由配置文件
构建结果-页面文件
构建结果-页面样式文件
构建结果-图片资源(图片资源可控是否tinypng压缩)
Tiny压缩-初始
Tiny压缩-选取图片后
Tiny压缩-配置
Tiny压缩-压缩中
Tiny压缩-压缩结果
目前psdjs的导出图片接口(
saveAsPng)会占用极大的资源,导致界面卡死,无交互效果;目前尝试通过启用一个新窗口,让新窗口进行该操作,但多个窗口间通信传输数据格式受限,貌似只能字符串;有大佬知道怎么解决,还请赐教;另外Jimp读取图片也会类似效果。
插件git库:
- psdjs: github.com/meltingice/…
- jimp: github.com/oliver-mora…