节点:以编程方式检查包的最新版本

pis*_*hio 7 javascript package node.js npm

我希望我的节点包(在 npm 上发布)在新版本可用时提醒用户。如何以编程方式检查已发布包的最新版本并将其与当前版本进行比较?

谢谢

Frx*_*rem 6

您可以组合npmview(用于获取远程版本)和semver(用于比较版本)包来执行此操作:

const npmview = require('npmview');
const semver  = require('semver');

// get local package name and version from package.json (or wherever)
const pkgName    = require('./package.json').name;
const pkgVersion = require('./package.json').version;

// get latest version on npm
npmview(pkgName, function(err, version, moduleInfo) {
  // compare to local version
  if(semver.gt(version, pkgVersion)) {
    // remote version on npm is newer than current version
  }
});
Run Code Online (Sandbox Code Playgroud)