用途:指导升级 Evernote SDK 版本、在 API 版本之间迁移,并处理升级带来的破坏性变更,适用于需要维护旧集成并逐步迁移到新 API 模式的场景。
主要能力:检查当前 SDK 版本并与最新版本对比;审阅版本间的破坏性变更,如构造函数由 new Evernote.Note() 变为 new Evernote.Types.Note()、回调改为 Promise、导入路径变化、Thrift 协议序列化变化;将回调式调用转换为 Promise/async-await;构建 EvernoteCompat 兼容层以支持新旧模式并存,实现按模块渐进迁移;更新测试断言与测试套件;为旧模式添加弃用警告。
使用方式:先运行 npm list evernote 查看已安装版本,npm view evernote version 查看最新版本,npm view evernote repository.url 查看变更日志。随后按步骤审阅破坏性变更、转换回调为 Promise、引入兼容层、更新测试、添加弃用警告。示例转换:旧写法 noteStore.getNote(guid, true, false, false, false, (error, note) => {...}) 改为 const note = await noteStore.getNote(guid, true, false, false, false)。
适用场景:已有 Evernote 集成需要升级 SDK;需要从回调风格迁移到 async/await;需要在不中断现有功能的前提下分模块迁移。
限制:需要现有 Evernote 集成、用于验证的测试环境以及对当前实现模式的理解;具体版本号、变更日志内容、完整迁移脚本与测试套件更新细节资料中未完整提供,需参考官方 SDK 发布说明与 API 文档。