Я использую Gulp и BrowserSync для обслуживания моего webapp на localhost:9000
.
Как я могу служить webapp на localhost:9000/some/multi/level/path
вместо этого?Gulp + BrowserSync, служит на пути
ответ
В ваших браузерах параметры передаются в startPath
, чтобы начать с другого URL-адреса, который '/'.
Это не повлияет на то, что ваш сервер обслуживает только путь, с которого начинается BrowserSync.
+1 на этом.
Для моего тестового сервера я использую Глоток-веб-сервер:
gulp.src('./public')
.pipe(webserver({
host: 'localhost',
port: '8000',
path: '/myapp',
fallback: 'index.html'
directoryListing: false,
https: true
}))
Затем я получить доступ к приложению из
https://localhost:8000/myapp/view
, но когда я использую Browsersync для режима Dev я должен использовать
https://localhost:9000/view
Было бы очень приятно, если бы это было то же самое, тогда, возможно, я прекратил бы использовать gulp-webserver.
Статический сервер Browsersync может быть настроен для обслуживания страниц любого произвольного подпути. При инициализации статического сервера Browsersync добавьте определение маршрута, где ключ является фрагментом url для соответствия, а значение - это каталог, который должен быть обслуживаться (путь должен быть относительно текущего рабочего каталога).
попробовать что-то вроде этого:
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
начнет Browsersync и открыть страницу с содержимым ./
отображенных в URL http://localhost:3000/some/multi/level/path
.
baseDir
должен быть установлен в непустую строку и не должен быть допустимым путем. Значения Falsey (null
, false
и пустые строки) не будут работать.
Фрагмент выше - рабочий файл gulpfile и был протестирован против Browsersync v2.18.5 и gulp v3.9.1. Вот complete gist.
Эта опция недоступна. startPath
изменит только тот URL, который открывается браузером.
Я наконец придумал простое решение:
Просто создайте символическую ссылку из каталога some/multi/level/path
в your app files
. Затем, перейдя на localhost:9000/some/multi/level/path
, вы получите те же файлы, что и на localhost:9000
- 1. Browsersync служит в IP-адресе
- 2. Gulp Browsersync pathing
- 3. Gulp browsersync basedir
- 4. Установите Browsersync Gulp
- 5. Gulp BrowserSync crashing
- 6. Browsersync служит для локальных файлов вместо удаленных файлов
- 7. Gulp browserSync Firefox Ubuntu 16.04
- 8. Gulp BrowserSync и npm start
- 9. gulp live-server vs browserSync
- 10. Gulp File Watch с BrowserSync
- 11. Gulp browsersync-ssi не работает
- 12. Использование browsersync с gulp/nodemon
- 13. Gulp 4 & BrowserSync: Инъекция стиля?
- 14. Gulp BrowserSync не создает сервер
- 15. Gulp-webapp running BrowserSync и PHP
- 16. BrowserSync + Gulp with Vagrant не обновляется
- 17. Elixir Gulp BrowserSync отдельный сервер разработки
- 18. BrowserSync + gulp: Cross domain Cors Issue
- 19. gulp, browsersync, sass, autoprefixer is not working
- 20. Gulp BrowserSync с машинописными и угловыми 2
- 21. Ошибка Gulp-Connect-Php + browserSync + Gulp-Connect для использования
- 22. Ошибки при использовании BrowserSync с Gulp
- 23. browsersync не работает (примечание: не использовать gulp)
- 24. CSS-инъекция не работает с Gulp + Browsersync
- 25. BrowserSync (w/gulp) работает очень медленно
- 26. Использование Gulp BrowserSync для рендеринга файлов PHP
- 27. Gulp BrowserSync с Django не работает
- 28. BrowserSync постоянно GET с использованием Express/Gulp
- 29. Gulp: Trouble setting browserSync и Watch
- 30. Использование BrowserSync и Gulp с WordPress (MAMP)
Спасибо, я думаю, это решает половину проблемы. Оставшаяся половина должна иметь BrowserSync для приложения на том же пути, что и startPath. –
@ MartinStålberg Вы когда-нибудь могли решить вторую половину этого? –
@ JonHarding, к сожалению, я не смог его решить. –