如何使用 Gulp 判断浏览器是否包含在浏览器列表中?

How to condition on if a browser is included in a browserslist using Gulp?

是否可以使用 Gulp 检查特定浏览器是否包含在您的浏览器列表中?当且仅当“Safari 10”包含在浏览器列表中时,我想包含 this script

我知道 browserl.ist 显示特定浏览器列表中包含的浏览器,但理想情况下我想以编程方式进行,以便我可以在我的 gulpfile.js 中根据它设置条件。毕竟,这必须是所有使用 browserslist 的插件所做的。

您可以 npx browserslist 列出浏览器列表查询中包含的所有浏览器。

Gulp 不需要 运行 该命令,但如果您愿意,可以在终端中为 运行 创建一个 Gulp 任务。

你可以npm install --save-dev browserslist fs然后像这样写一个gulpfile.js

const gulp = require('gulp'),
      browserslist = require('browserslist'),
      fs = require('fs');

gulp.task('test', () => {
  const browsers = browserslist(JSON.parse(fs.readFileSync('./package.json')).browserslist);

  if (browsers.filter(browser => browser.includes('safari 10.1')).length) {
    // Do something if Safari 10.1 is included in browserslist
  } else {
    // Do something else if it isn't
  }

  return true;
});