前言
Sharp模块作为Node.js生态中重要的图像处理库,这里我们使用Electron+Sharp开发图片处理工具。
Sharp v0.33.x要求Node.js版本满足^18.17.0 || ^20.3.0 || >=21.0.0。
可通过以下命令检查版本:
1 | node -v |
创建项目
切换NodeJS版本
1 | nvm use 18.20.4 |
创建项目
1 | npm create electron-vite@latest z-img-tools |
编码设置
日志乱码
package.json执行的命令前添加chcp 65001 >nul &&
1 | { |
设置全局样式
src/style.css
1 | #app { |
安装Less
1 | npm install -D less |
Electron设置
不显示菜单栏
1 | import {Menu} from 'electron' |
显示调试窗口
1 | win.webContents.openDevTools({mode: 'detach'}); |
图片处理库
添加依赖
1 | # 确保使用最新版Sharp |
图片处理
1 | const sharp = require('sharp'); |
监听
1 | import {ipcMain} from "electron"; |
显示本地图片
主进程
窗口设置
1 | win = new BrowserWindow({ |
主要是webSecurity设置为false
开发模式不显示警告
1 | // 仅开发环境关闭安全警告 |
渲染进程
1 | <meta |
加载的图片file:///
1 | <img :src="resultPath" alt=""> |
常见错误
npm error RequestError: Hostname/IP does not match certificate’s altnames
设置NPM镜像
1 | npm config edit |
添加
1 | registry=https://registry.npmmirror.com/ |