行业资讯
📅 2026/8/24 17:24:19
从源码到发布:adobe-discord-rpc的webpack构建、zxp签名打包与Releases发布完整流程指南
从源码到发布adobe-discord-rpc的webpack构建、zxp签名打包与Releases发布完整流程指南【免费下载链接】adobe-discord-rpcDiscord Rich Presence extension for your adobe apps!项目地址: https://gitcode.com/gh_mirrors/ad/adobe-discord-rpcadobe-discord-rpc是一款为 Adobe 全家桶Photoshop、After Effects、Premiere Pro 等提供 Discord Rich Presence 在线状态显示的免费 CEP 扩展。本文将带你完整走一遍它的工程化流水线webpack 双端构建 → dist 目录组装 → zxp 自签名打包 → Releases 发布新手也能照着复现一套可发布的 CEP 扩展。一、先认识项目一个插件两个 webpack 入口这个项目基于 Adobe CEP 82018 年起的应用版本构建采用 React 编写界面。它的核心特色是双 webpack 配置面板端clientsrc/client-src/目录即你在Window Extensions里看到的设置/预览面板由 build-scripts/webpack.client.config.js 打包宿主端rpc_clientsrc/rpc_client-src/目录负责与 Discord RPC 本地接口通信、轮询各 Adobe 应用状态由 build-scripts/webpack.rpc_client.config.js 打包。所有构建参数集中在根目录的 pluginrc.js 中统一管理包括扩展 IDcom.tee.discord-rpc、版本号1.0.1、CEP 版本8.0、输出目录dist/以及证书配置自定义证书customCert与自签名证书selfSign两种模式。二、webpack 构建阶段一条命令跑完 6 步在项目根目录执行npm run build:prod底层调用的是 build-scripts/build.js它按顺序完成以下工作清理 dist递归删除dist/并重建保证产物干净打包面板端运行 webpackclient 配置把 React 面板编译成静态资源打包 RPC 端运行 webpackrpc_client 配置生成与 Discord IPC 通信的 Node 侧代码复制宿主代码把src/host/下每个 Adobe 应用对应的.jsx桥接文件如PHXS.jsx、IDSN.jsx拷入产物复制依赖与资源包括rpc_client-src/node_modules、src/libs/CSInterface.js、两个 HTML 入口index.html、rpc.html和assets/下的图标模板渲染 manifest.xml用 assets/templates/manifest.template.xml.js 模板动态生成dist/com.tee.discord-rpc/CSXS/manifest.xml——这是 CEP 扩展的身份证声明了它支持哪些宿主应用PHXS/PPRO/AEFT/IDSN 等以及各宿主的启动脚本。开发模式npm run build:dev会额外渲染一个.debug文件方便本地调试。构建产物统一落在dist/com.tee.discord-rpc/目录。三、zxp 签名打包自签名证书 一键归档dist里的文件夹还不能直接分发给用户需要打成带签名的.zxp安装包。执行npm run archivebuild-scripts/archive.js 的工作分两步prepareCert读取 pluginrc.js 中的证书配置。若填了自定义证书路径customCert.path则直接使用否则调用zxp-sign-cmd的selfSignedCert方法自动生成自签名证书输出到dist/cert.p12。非 Windows 系统下还会自动为签名工具osx provider执行chmod 755修正权限——这是一个很容易踩的坑脚本已帮你处理signPackage把dist/com.tee.discord-rpc/整个文件夹压缩并签名产出最终的dist/com.tee.discord-rpc.zxp。小技巧自签名信息国家、组织、密码等都在 pluginrc.js 的certificate.selfSign中发布前可以按需修改保证证书稳定、用户重复安装时不会反复提示信任确认。四、一键发布release:prod 脚本串联全流程package.json 中定义了完整的发布链npm run release:prod它等价于依次执行三步build:prod— 生产模式 webpack 构建同上第二节deploy:prod— 调用 build-scripts/deploy.js将扩展部署到本机 Adobe 的 CEP 扩展目录并按操作系统写入调试模式开关Windows 写注册表CSXS.8~CSXS.11的PlayerDebugModemacOS 执行defaults write对应命令archive— 自签名 打包出.zxp。跑完后你手里就有了一份可上传到Releases的com.tee.discord-rpc.zxp。发布建议产物以.zxp为命名主体如com.tee.discord-rpc-v1.0.1.zxp方便用户用 Extension Manager 直接导入Release 说明写明支持的 Adobe 版本范围本项目 CEP 8即 2018 及以后、新增支持的宿主应用、以及 macOS Apple Silicon 用户需通过 Rosetta 运行 Photoshop 并开启 Legacy Extensions 的注意事项版本号发布前同步更新 pluginrc.js 中的extensionBundleVersion与 package.json 的version让 manifest 与发布版本一致。五、总结一张图看懂发布流水线阶段命令关键文件产物依赖安装npm installpackage.jsonnode_modules构建npm run build:prodbuild-scripts/build.js、两份 webpack 配置dist/com.tee.discord-rpc/部署调试npm run deploy:prodbuild-scripts/deploy.js本机 CEP 扩展目录签名打包npm run archivebuild-scripts/archive.jsdist/com.tee.discord-rpc.zxp发布上传 Releases—用户可下载的 zxp整套流程体现了典型的配置集中化pluginrc.js 脚本流水线build-scripts/思路构建、部署、打包各管一段一条release:prod串联到底。理解了这套结构你就能把任何 CEP 扩展项目搬上自己的 Releases 页面让 Discord 上的好友看到你正在用 Adobe 创作了 。【免费下载链接】adobe-discord-rpcDiscord Rich Presence extension for your adobe apps!项目地址: https://gitcode.com/gh_mirrors/ad/adobe-discord-rpc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考