我正在使用Gulp和BrowserSync在localhost:9000
上为我的Web应用提供服务。
我该如何将Web应用服务路径更改为 localhost:9000/some/multi/level/path
?
我正在使用Gulp和BrowserSync在localhost:9000
上为我的Web应用提供服务。
我该如何将Web应用服务路径更改为 localhost:9000/some/multi/level/path
?
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并在urlhttp://localhost:3000/some/multi/level/path
上显示./
的内容。
baseDir
必须设置为非空字符串,不需要是有效路径。Falsey值(null
、false
和空字符串)将不起作用。startPath
,以使其在不同于'/'的URL上启动。这不会改变服务器提供的内容,只会更改BrowserSync的起始路径。
http://www.browsersync.io/docs/options/#option-startPath
似乎选项不可用。
startPath
只会改变 browsersync 打开的 URL。
最终我想出了一个简单的解决方案:
只需从 一些/多层/路径
目录创建一个符号链接到 你的应用文件
。然后访问 localhost:9000/一些/多层/路径
将提供与访问 localhost:9000
相同的文件。
+1 表示同意。
对于我的测试服务器,我正在使用 gulp-webserver:
gulp.src('./public')
.pipe(webserver({
host: 'localhost',
port: '8000',
path: '/myapp',
fallback: 'index.html'
directoryListing: false,
https: true
}))
然后我从以下地址访问应用:
https://localhost:8000/myapp/view
但是,在使用Browsersync进行开发模式时,我必须使用以下地址:
https://localhost:9000/view
如果这两个地址相同就好了,那么也许我就不会再使用gulp-webserver了。
startPath
、baseDir
和routes
的组合对我很有帮助)。我有一个专门用于博客的仓库,并将其发布在mainDomain.com/blog上,希望在开发模式下正确设置URL结构。 - Zaheer