2015-05-21 18 views

risposta

2

Nelle opzioni di browsersync passare in startPath per farlo iniziare su un URL diverso che '/'.

Ciò non cambia ciò che il server sta servendo solo il percorso con cui BrowserSync inizierà.

http://www.browsersync.io/docs/options/#option-startPath

+1

Grazie, immagino che risolva metà del problema. La metà restante è che BrowserSync serva l'app nello stesso percorso di startPath. –

+0

@ MartinStålberg Sei mai riuscito a risolvere la seconda parte di questo? –

+0

@JonHarding, sfortunatamente non sono riuscito a risolverlo. –

0

+1 su questo.

Per il mio server di prova sto usando gulp-webserver:

gulp.src('./public') 
    .pipe(webserver({ 
     host: 'localhost', 
     port: '8000', 
     path: '/myapp', 
     fallback: 'index.html' 
     directoryListing: false, 
     https: true 
    })) 

Poi ho accedere all'applicazione dal

https://localhost:8000/myapp/view

ma quando uso Browsersync per la modalità dev devo usare

https://localhost:9000/view

Sarebbe davvero bello avere lo stesso, quindi forse smetterei di usare gulp-webserver.

2

Il server statico di Browsersync può essere configurato per servire pagine da qualsiasi sotto percorso arbitrario. Quando si inizializza il server statico di Browsersync, aggiungere una definizione di percorso in cui la chiave è il frammento url corrispondente e il valore è la directory da servire (il percorso deve essere relativo alla directory di lavoro corrente).

provare qualcosa di simile:

var gulp = require('gulp'); 
var browsersync = require('browser-sync').create(); 

gulp.task('watch', function() { 
    browsersync.init({ 
    files: './*.html', 
    startPath: '/some/multi/level/path', 
    server: { 
     baseDir: '-', 
     routes: { 
     '/some/multi/level/path': '.' 
     } 
    } 
    }); 
}); 

Esecuzione gulp watch inizierà Browsersync e aprire una pagina con il contenuto di ./ esposti alla url http://localhost:3000/some/multi/level/path.

baseDir deve essere impostato su una stringa non vuota e non deve essere un percorso valido. I valori di Falsey (null, false e stringhe vuote) non funzioneranno.

Il frammento di cui sopra è un gulpfile funzionante ed è stato testato contro Browsersync v2.18.5 e gulp v3.9.1. Ecco lo complete gist.

1

Sembra che l'opzione non sia disponibile. startPath cambierà solo quale URL viene aperto da browsersync.

ho finalmente si avvicinò con una soluzione semplice:

basta creare un link simbolico da some/multi/level/path directory your app files. Quindi andare a localhost:9000/some/multi/level/path fornirà gli stessi file di localhost:9000

Problemi correlati