files-delta-updater v1.0.1
files-delta-updater
你可以使用files-detla-updater在仅仅使用静态资源服务器的条件下来实现资源的差量更新
安装
You need node.js and npm.
npm install files-delta-updater --save-dev使用
const { DeltaUpdater } = require('files-delta-updater');
const deltaUpdater = new DeltaUpdater({
baseRootPath: "C:\\Program Files\\myapp\\dist",
updateRootPath: "C:\\Program Files\\myapp_source\\dist",
remoteRootUrl: "https://oss.template.com/myapp",
channels: ["1.0.0","stable"]
})
deltaUpdater.getLatestVersionAfterSwitch().then(({path, version}) => {
console.log(path); // The directory where the latest version of the file is located
console.log(version); // the latest version
deltaUpdater.checkUpdate(); // Start checking for updates
})new DeltaUpdater(options)
optionsDeltaUpdaterConfig -baseRootPathstring (必填) - 更新器基础目录。当无已下载的更新资源时,则更新器使用该目录进行工作。 -updateRootPathstring (必填) - 更新器版本管理目录。新生成的目录将保存在此目录下。 -remoteRootUrlstring (必填) - 远程资源的URL。 -channelsstring - 更新渠道。分渠道更新资源。 -clearOldVersionboolean (可选) - 是否清理老版本资源。默认值为true,当更新器切换至最新版本后,将自动清理老版本资源文件。 -versionAvailablefunction (可选) - 自定版本比较规则。默认 当本地版本与远程版本不一致时进行更新。 -requestInstanceCreatorfunction (可选) - 自定义在获取更新文件时使用的axios实例
实例方法
方法:getLatestVersionAfterSwitch()
返回: Promise<{ version: string; path: string; }>
version本地可用的最新版本path本地可用的最新版本所在目录
方法:checkUpdate(forceCheck)
参数:forceCheck
默认值true,检查步骤中的渠道检查不通过时则继续更新流程,否则反之。
返回:
checkResult枚举值 -not-available--channels-not-available--version-not-available--staging-usable-success
实例事件
使用new DeltaUpdater创建的对象具有以下事件:
事件:not-available
无可用更新时触发; 返回:
result-reason-messagereason值的枚举: -not-available--channels渠道检查不满足条件 -not-available--version版本检查不满足条件 -not-available--staging灰度更新检查不满足条件
事件:download
资源正在下载时触发; 返回:
result-total-processtotal带下载资源总数process下载进度
事件:downloaded
资源下载完成时触发; 返回:
result-currentVersion-nextVersion-nextVersionDircurrentVersion当前版本号nextVersion下一个版本号nextVersionDir下一个版本所在目录
事件:usable
可用资源已下载至本地且已生成最新版本资源文件时触发; 返回:
result-currentVersion-nextVersion-nextVersionDircurrentVersion当前版本号nextVersion下一个版本号nextVersionDir下一个版本所在目录
事件:error
更新器运行报错时触发; 返回:
Error
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago