首页 > 解决方案 > 使用 gulp 获取最新的软件包版本

问题描述

我正在尝试编写一个运行 npm 命令的 gulp 任务npm view [package_name] version。之后,我需要获取命令的结果并对数字进行一些更改。

我尝试使用“gulp-exec”和“gulp-run”包。他们都在运行将最新包版本打印到控制台的命令,但在回调中无法访问。

想问如何运行 npm 命令并使用 gulp 将其结果写入变量?有没有办法运行控制台的状态,以便我可以解析最后一行?

干杯

标签: npmgulp

解决方案


您可以使用 Node 的 child_process 模块:

// Gulp 4, but will be almost same in Gulp 3
const {series} = require('gulp');
const {exec} = require('child_process');

const version = (cb) => {
    exec('npm view gulp version', (err, stdout, stderr) => {
        const npmOutput = stdout.trim();
        console.log(npmOutput);
        cb();
    });
};

exports.default = series(
    version
);

推荐阅读