2015-08-21 4 views
1

Я хотел бы открыть окно браузера, когда мой веб-сервер работает, на данный момент я использую это, но я не могу открыть браузер, любую идею, что не так в моем коде?Как открыть новое окно браузера с помощью gulp-connect?

var gulp = require('gulp'); 
var connect = require('gulp-connect'); 
gulp.task('webserver', function() { 
    connect.server({ 
     root: "../../../www/", 
     livereload: true, 
     open: { 
      browser: 'chrome', // if not working OS X browser: 'Google Chrome' 
      url: 'http://localhost:8080/site/a/index.html?dev' 
     } 
    }); 
}); 

ответ

4

На мой взгляд, вместо конкретной задачи глотком, вы могли бы просто использовать модуль родного узла, «OPN» https://www.npmjs.com/package/opn

npm install --save-dev opn 

Тогда в любой обратный вызов ваш серверный модуль использует:

require("opn")("http://localhost:8080/site/a/index.html?dev", 
{app: ['google chrome', '--incognito']}) 

gulp-connect не похоже, что он обеспечивает обратный вызов, но вы, возможно, можете просто запустить открытую задачу поочередно или после короткого ожидания. Другие конкуренты к gulp-connect действительно обеспечивают обратный вызов, который позволяет с легкостью отслеживать порт/ip и т. Д. И т. Д., Что позволяет вам дополнительно настраивать то, что происходит (например, Browsersync, динамически проверяет и использует свободный порт, а затем передает а также информацию о том, какой порт он использовал, что позволяет автоматически открывать правильный локальный порт, даже если он время от времени меняется.).

+1

какой альтернативой вы предложите gulp-connect? – GibboK

+0

Я использую browserSync. – Dtipson

+0

Отлично! работает на меня. –