关于获取最新版本号的问题
相关描述:
视频中sam老师用了比较复杂的方法去获取最新版本号,但是npm接口返回的信息中有一个
"dist-tags"属性可以直接拿到最新版本,直接用这个属性去获取最新版本有啥坑吗?
相关代码:
utils/get-npm-info/lib/index.js
"use strict";
const urlJoin = require("url-join");
const axios = require("axios");
function getNpmInfo(npmName, registry) {
...
}
function getDefaultRegistry(isOriginal = false) {
...
}
module.exports = {
getNpmInfo,
};core/cli/lib/index.js
async function checkGlobalUpdate() {
const currenVersion = pkg.version;
const npmName = pkg.name;
const { getNpmInfo } = require("@fuxin-imooc-cli-dev/get-npm-info");
const npmInfo = await getNpmInfo(npmName);
const lastVersion = npmInfo["dist-tags"].latest;
if (lastVersion && semver.gt(lastVersion, currenVersion)) {
log.warn(
colors.yellow(
`请手动更新${npmName}, 当前版本${currenVersion},最新版本:${lastVersion}`
)
);
}
}19
收起
正在回答
1回答
同学你好,可以直接通过dist-tags获取最新版本的,课程中没有使用到这个属性是因为课程在录制时接口中还没有这个字段的。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星