2015-05-21 9 views

Antwort

2

In Ihren Browsersync-Optionen geben Sie startPath ein, damit es unter einer anderen URL als '/' beginnt.

Dies ändert nichts daran, dass Ihr Server nur den Pfad bereitstellt, mit dem BrowserSync startet.

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

+1

Danke, ich denke, es löst die Hälfte des Problems. In der verbleibenden Hälfte wird BrowserSync die App im selben Pfad wie startPath bereitstellen. –

+0

@ MartinStålberg Konnten Sie die zweite Hälfte jemals lösen? –

+0

@JonHarding, leider konnte ich es nicht lösen. –

0

+1 zu diesem Thema.

Für meinen Test-Server verwende ich schluck-Webserver:

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

Dann greife ich auf die App von

https://localhost:8000/myapp/view

aber wenn ich Browsersync für dev-Modus verwenden Ich habe

verwenden

https://localhost:9000/view

Es wäre wirklich schön, wenn es so wäre, dann würde ich vielleicht aufhören den gulp-Webserver zu benutzen.

2

Der statische Server von Browsersync kann so konfiguriert werden, dass er Seiten von jedem beliebigen Unterpfad aus bedient. Wenn Sie den statischen Server von Browsersync initialisieren, fügen Sie eine Routendefinition hinzu, bei der der Schlüssel das url-Fragment ist, das übereinstimmen muss, und der Wert das zu versorgende Verzeichnis ist (Pfad sollte relativ zum aktuellen Arbeitsverzeichnis sein).

versuchen, etwas wie folgt aus:

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': '.' 
     } 
    } 
    }); 
}); 

gulp watch Rennen wird Browsersync starten und eine Seite mit dem Inhalt ./ bei der URL http://localhost:3000/some/multi/level/path angezeigt zu öffnen.

baseDir muss auf eine nicht leere Zeichenfolge festgelegt werden und muss kein gültiger Pfad sein. Falsey-Werte (null, false und leere Strings) funktionieren nicht.

Das obige Snippet ist ein funktionierendes gulpfile und wurde gegen Browsersync v2.18.5 und gulp v3.9.1 getestet. Hier ist die complete gist.

1

Scheint, dass die Option nicht verfügbar ist. startPath wird nur ändern, welche URL von browsersync geöffnet wird.

Ich kam schließlich mit einer einfachen Lösung:

nur einen symbolischen Link von some/multi/level/path Verzeichnis your app files erstellen. Dann gehen Sie zu localhost:9000/some/multi/level/path wird die gleichen Dateien wie gehen localhost:9000

Verwandte Themen