0
我需要能夠使用browserSync的php支持和一些特定的url重寫。我想到了帶有Gulp-Connect-Php包的browserSync和Gulp-Connect + modrewrite。 這裏是我的配置:Gulp-Connect-Php + browserSync + Gulp-Connect地址在使用問題
var
browserSync = require('browser-sync'),
phpconnect = require('gulp-connect-php'),
connect = require('gulp-connect'),
modrewrite = require('connect-modrewrite'),
phpconnect.server({base:'dist/',port: 8010}, function(){
connect.server({
port: 8001,
middleware: function() {
return [
modrewrite([
'^/admin/(.*) - [L]',
'^([^.]*|.*?\.php)$ http://localhost:8010$1 [P,NC]'
])
];
}
})
browserSync({
injectChanges: true,
proxy: '127.0.0.1:8010'
});
})
這工作正常,正是我所需要的。發生以下問題不時當我啓動它:
[error] You tried to start Browsersync twice! To create multiple instances, use browserSync.create().init()
events.js:141
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::8001
換句話說,browserSync開始之前吞掉連接和使用端口8010,應通過使用大口連接和吞掉連無法啓動。
我安裝NPM sleep
包和發射browserSync之前添加下列行:
sleep.sleep(15)
換句話說,我發射browserSync之前加入15秒的延遲。 它的工作原理,但我敢打賭,有一個更優雅的解決方案。
請指教。