FTP 上传插件这是一个四年前的项目当时发现 PicGo 没有我需要的 FTP 上传插件于是自己写了一个最开始用的官方提供的插件模板这是重构前的代码 imba97/picgo-plugin-ftp-uploader/003b4e前端技术发展迅猛积累了四年的前端知识让我有了重构的想法Refactor!我当前开发前端库主要用以下技术TypeScript 不用多说unbuild 打包工具eslint antfu/eslint-config 代码规范simple-git-hooks lint-staged 代码提交规范bumpp 版本管理打包工具之前是直接用tsc编译unbuild 作为一个现代化的打包工具提供更灵活、自由度更高的配置、插件等并能优化代码规范eslint 作为代码规范工具开源魔法师托尼老师的 antfu/eslint-config 提供了一套很好的规范简单易用simple-git-hooks 创建 git hooks在提交前检查代码lint-staged 只检查暂存的文件避免全局检查版本管理bumpp 是一个简单的版本管理工具命令行界面选择版本号自动生成 git tag 并提交NPM 发布文件package.json中指定了需要发布的文件因为打包会生成esm和cjs两种避免发布多余文件{main:dist/index.cjs,files:[dist/index.cjs,logo.png]}代码目录优化把原来放在index.ts中的handle、upload拆分成单独文件封装ftp客户端让代码看起来更清晰PicGo 插件模板PicGo 支持插件模板的开发所以我基于上面的优化做了个插件模板你可以使用以下指令初始化你的插件picgo init imba97/picgo-template-plugin picgo-plugin-name模板仓库 imba97/picgo-template-plugin顺手使用picgo init命令时发现一个问题一个可选参数不写会报错修了一下 (#178)
PicGo 插件项目重构
FTP 上传插件这是一个四年前的项目当时发现 PicGo 没有我需要的 FTP 上传插件于是自己写了一个最开始用的官方提供的插件模板这是重构前的代码 imba97/picgo-plugin-ftp-uploader/003b4e前端技术发展迅猛积累了四年的前端知识让我有了重构的想法Refactor!我当前开发前端库主要用以下技术TypeScript 不用多说unbuild 打包工具eslint antfu/eslint-config 代码规范simple-git-hooks lint-staged 代码提交规范bumpp 版本管理打包工具之前是直接用tsc编译unbuild 作为一个现代化的打包工具提供更灵活、自由度更高的配置、插件等并能优化代码规范eslint 作为代码规范工具开源魔法师托尼老师的 antfu/eslint-config 提供了一套很好的规范简单易用simple-git-hooks 创建 git hooks在提交前检查代码lint-staged 只检查暂存的文件避免全局检查版本管理bumpp 是一个简单的版本管理工具命令行界面选择版本号自动生成 git tag 并提交NPM 发布文件package.json中指定了需要发布的文件因为打包会生成esm和cjs两种避免发布多余文件{main:dist/index.cjs,files:[dist/index.cjs,logo.png]}代码目录优化把原来放在index.ts中的handle、upload拆分成单独文件封装ftp客户端让代码看起来更清晰PicGo 插件模板PicGo 支持插件模板的开发所以我基于上面的优化做了个插件模板你可以使用以下指令初始化你的插件picgo init imba97/picgo-template-plugin picgo-plugin-name模板仓库 imba97/picgo-template-plugin顺手使用picgo init命令时发现一个问题一个可选参数不写会报错修了一下 (#178)