在 gulp 文件中获取 gulp 版本
get gulp version in gulpfile
有没有办法检测 Gulp 的哪个版本是 运行(可在 gulpfile 中使用)?
我在不同的环境中使用了两个单独的 gulpfile,一些需要 v3,一些需要 v4。为了更容易进行版本控制,如果我可以组合这些文件并且不必在不同环境中处理不同的文件名以消除多个开发人员之间的混淆,我会更喜欢它。显然,要实现这一点,我需要脚本来区分版本。
您可以阅读 package.json 并找到 gulp 版本
const pkgJson = fs.readFileSync('./package.json', { encoding: 'utf8' });
const pkg = JSON.parse(pkgJson);
const gulpVersion = pkg['devDependencies']['gulp'];
这可能不是最佳解决方案,但您可以快速确定 gulp 版本。
替代@alireza.salemian的解决方案,您可以尝试运行 javascript中的命令行版本命令:
根据您的 JavaScript 后端,您的代码可能略有不同,但受 this post 启发,您可以 运行 如下所示:
const execSync = require('child_process').execSync;
// import { execSync } from 'child_process'; // replace ^ if using ES modules
const output = execSync('gulp -v', { encoding: 'utf-8' }); // the default is 'buffer'
const str_pos = output.search('Local version') + 14;
const gulp_version = output.substring( str_pos, str_pos + 5 );
console.log( 'Gulp version: ' + gulp_version );
有没有办法检测 Gulp 的哪个版本是 运行(可在 gulpfile 中使用)?
我在不同的环境中使用了两个单独的 gulpfile,一些需要 v3,一些需要 v4。为了更容易进行版本控制,如果我可以组合这些文件并且不必在不同环境中处理不同的文件名以消除多个开发人员之间的混淆,我会更喜欢它。显然,要实现这一点,我需要脚本来区分版本。
您可以阅读 package.json 并找到 gulp 版本
const pkgJson = fs.readFileSync('./package.json', { encoding: 'utf8' });
const pkg = JSON.parse(pkgJson);
const gulpVersion = pkg['devDependencies']['gulp'];
这可能不是最佳解决方案,但您可以快速确定 gulp 版本。
替代@alireza.salemian的解决方案,您可以尝试运行 javascript中的命令行版本命令:
根据您的 JavaScript 后端,您的代码可能略有不同,但受 this post 启发,您可以 运行 如下所示:
const execSync = require('child_process').execSync;
// import { execSync } from 'child_process'; // replace ^ if using ES modules
const output = execSync('gulp -v', { encoding: 'utf-8' }); // the default is 'buffer'
const str_pos = output.search('Local version') + 14;
const gulp_version = output.substring( str_pos, str_pos + 5 );
console.log( 'Gulp version: ' + gulp_version );