使用gulp-open和yargs设置默认浏览器

时间:2015-11-21 06:58:52

标签: gulp

我正在使用npm install yargs设置默认浏览器,并使用gulp-open自动在默认gulp任务上打开浏览器

// $:> gulp
gulp.task('default', ['express', 'watch'], function () {

  // Create browser option argument / Default on chrome
  var selectedBrowser = args.browser ? args.browser : 'chrome';
  // Open browser
  var open = require('gulp-open')
  gulp.src('src/index.html')
  .pipe(open({
      app: selectedBrowser,
      uri:"http://localhost:" + config.server.port
  }));

   gutil.beep();
})

这很好但我想将当前chrome的默认选项作为用户默认浏览器。如果我在没有任何配置的情况下运行.pipe(open()),我的默认浏览器会打开(它当前是边缘),这是我想要的功能。我只是不确定要为默认添加什么属性。在gulp-open的npm页面上似乎只打开firefox和chrome,甚至不确定名称是什么边缘。我尝试过microsoft-edgeedgemicrosoftedgedefault

我想将默认属性设置为默认浏览器

var selectedBrowser = args.browser ? args.browser : 'chrome';

替换当前的'chrome'参数

1 个答案:

答案 0 :(得分:1)

这是一种采用任何猜测方法的方法:

gulp.task('default', ['express', 'watch'], function () {
  var params = {
    uri:"http://localhost:" + config.server.port
  };
  args.browser && params['app'] = 'chrome'; 
  var open = require('gulp-open');
  gulp.src('src/index.html')
    .pipe(open(params));

  gutil.beep();
})

我创建了一个命名对象并将其传递给open函数。它创建了应用程序' key / value仅当args包含浏览器的truthy值时。