Ich verwende Gulp und BrowserSync, um meine Webanwendung unter localhost:9000
zu bedienen.
Wie kann ich die Webapp unter localhost:9000/some/multi/level/path
stattdessen liefern?Gulp + BrowserSync, Serve bei Pfad
Antwort
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.
+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
verwendenhttps://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.
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.
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
- 1. Gulp BrowserSync abstürzen
- 2. Einrichten Gulp browserSync richtig
- 3. Gulp BrowserSync PHP Dateien
- 4. Gulp-Webapp läuft BrowserSync und PHP
- 5. Gulp BrowserSync erstellt keinen Server
- 6. Gulp-browserSync Aufgabe läuft nur einmal
- 7. Gulp: Wie Browsersync, Sourcemaps, Autoprefixer und CSS Cleaner zusammen verwenden?
- 8. Sehr langsamer BrowserSync Server Start mit Gulp
- 9. BrowserSync kontinuierlich GET mit Express/Gulp
- 10. Wo kann BrowserSync deaktiviert werden? Pfad? Dateien? Konsole? Angular 2
- 11. Gulp Browsersync verursacht mehrere Neuladevorgänge mit jeder Dateiänderung
- 12. browserSync modRewrite funktioniert nicht für angularjs html5mode für Pfad 'app/index.html' mit Schluck
- 13. Gulp.js dienen Src-Dateien ohne BrowserSync?
- 14. BrowserSync CSS-Injektion + runSequence
- 15. Wie synchronisiert man alle HTML-Dateien mit gulp browsersync?
- 16. BrowserSync-Proxy auf dem Remote-Server mit Gulp?
- 17. Gulp Browsersync Aufgabe nicht neu laden bei Dateiänderungen mit neuer Dateistruktur
- 18. Probleme bei der Bereitstellung einer gh-Seite nach dem Erstellen einer statischen Site mit Gulp
- 19. Wie kann die geräteübergreifende Aktionsspiegelungsfunktion von BrowserSync deaktiviert werden? (GhostMode)
- 20. Gulp Fehler: Laich EACCES
- 21. Laravel Homestead mit BrowserSync
- 22. eine Gulp Aufgabe Legen Sie die Standard
- 23. Angular 2 - Routing mit Pfad als Parameter und BrowserSync
- 24. Gulp an Dateien anhängen, nicht überschreiben
- 25. Verwenden von Browsersync mit Schluck/Knotenmonitor
- 26. Express und BrowserSync ohne Schluck?
- 27. Was passiert, wenn Sie ng serve ausführen?
- 28. Gulp nicht aktualisieren bei Änderungen an importierten scss-Dateien
- 29. BrowserSync nur einmal neu laden, wenn Jekyll in Gulp für freigegebene Datei verwendet wird Update
- 30. Gulp/Node - Fehler bei SASS Compile
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. –
@ MartinStålberg Konnten Sie die zweite Hälfte jemals lösen? –
@JonHarding, leider konnte ich es nicht lösen. –