博客助手bloghelper源码研究(1):打包程序
写作助手3.0
Github地址
https://github.com/onblogs/BlogHelper
功能介绍:
-
一键发布本地文章到知乎、简书、博客园、CSDN、掘金、SegmentFault(思否)、开源中国等平台。
-
支持的图床有:新浪、SM.MS、Github、Imgur、七牛云、腾讯云、阿里云、又拍云。
-
支持快捷键上传剪贴板里第一张图片,更新剪贴板内容为图片链接。
-
一键将本地文章中引用的本地图片上传到图床并替换为引用链接。
-
对剪贴板拷贝的代码进行对齐操作,解决粘贴代码左侧留白的苦恼。
-
一键将HTML文件转换为Markdown文本文件(支持批量)。
-
对本地文章中的图片进行各种DIY操作,一键网络图片下载,一键本地文章整理。
-
丰富的工具集,包括一键打开微信文章排版,一键打开图片素材网站等。
配置与打包
源码下载到本地后使用npm install安装依赖,参见package-lock.json
,里面指定了各个依赖库的版本
下载elecron非常慢,等了差不多一个小时。
推荐使用淘宝镜像源下载。
npm安装慢的解决方案
打包功能已包含在packge.json里。关键部分如下:
"scripts": {
"test": "jest",
"start": "electron .",
"dist": "electron-builder --win --x64",
"ico": "png-to-ico build/app.png > build/app.ico",
"mirror": "npm config set registry https://mirrors.huaweicloud.com/repository/npm/ && npm config set electron_mirror https://mirrors.huaweicloud.com/electron/ && npm config set electron_builder_binaries_mirror https://mirrors.huaweicloud.com/electron-builder-binaries/"
},
在终端执行 npm run dist
使用electron-builder
来打包项目。
electron-builder的配置
"build": {
"appId": "com.github.onblog.bloghelper",
"productName": "写作助手",
"mac": {
"icon": "build/app.icns",
"type": "development",
"category": "public.app-category.productivity",
"target": {
"target": "dmg",
"arch": [
"x64"
]
}
},
"win": {
"icon": "build/app.ico",
"target": ["nsis","zip"]
},
"linux": {
"icon": "build/app.png",
"category": "Office",
"target": {
"target": "AppImage",
"arch": [
"x64"
]
}
}
}
windows上的打包见win
配置部分
打包过程中,要下载electron-v11.5.0-win32-x64.zip、winCodeSign-2.6.0、nsis-3.0.4.1。
在终端中从github上下载非常慢,建议直接从github网站上直接下这几个包。
地址: https://github.com/electron-userland/electron-builder-binaries/releases
下载完成后开始打包,最终生成的文件如图
参考文档:
解决electron打包下载依赖超时,报错等问题
作者:逆向人 公众号:逆向人 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?