基于electron的项目助手工具,psd解析,生成css、html,tinypng压缩

835 阅读2分钟

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配置:最大体积
  • 压缩结果,压缩比例
  • 配置持久化
  • 压缩结果报告(用时、缩小体积等)

文件选取模块:

  • 添加文件
  • 清空列表
  • 单个移除
  • 拖拽上传
  • 文件夹读取

项目构建-初始 1.png

项目构建-选取ps文件后 2.png

项目构建-构建配置 3.png

构建配置-路由模板编辑 4.png

构建配置-页面文件编辑 5.png

以下为React构建预设的结果:

构建结果-路由配置文件 11.png

构建结果-页面文件 12.png

构建结果-页面样式文件 13.png

构建结果-图片资源(图片资源可控是否tinypng压缩) 14.png


Tiny压缩-初始 6.png

Tiny压缩-选取图片后 7.png

Tiny压缩-配置 8.png

Tiny压缩-压缩中 9.png

Tiny压缩-压缩结果 10.png

目前psdjs的导出图片接口(saveAsPng)会占用极大的资源,导致界面卡死,无交互效果;目前尝试通过启用一个新窗口,让新窗口进行该操作,但多个窗口间通信传输数据格式受限,貌似只能字符串;有大佬知道怎么解决,还请赐教;另外Jimp读取图片也会类似效果。

插件git库:

本项目源码仓库:

gitee.com/ytiona/proj…