有人可以告诉我为什么我的代理网址不能与BrowserSync和Gulp合作吗?相反,它只是继续使用http://localhost:3000作为开发URL。
gulp.task('watch', ['bs'], function() {
gulp.watch('scss/*.scss', ['scss', browserSync.reload]);
});
gulp.task('bs', function() {
browserSync.init(['css/style1.css', 'css/style2.css'], {
proxy: 'dev.site.com'
});
});
gulp.task('default', ['scss', 'watch']);
答案 0 :(得分:3)
我遇到了同样的问题并执行了以下操作以阻止浏览器同步使用默认地址/端口:
gulp.task('bs', function () {
browserSync.init(null, {
proxy: 'localhost:8080', // 'dev.site.com' in your example
port: 5000
});
});
这对我有用,并将browser-scyn地址更改为localhost:5000
答案 1 :(得分:0)
您需要使用代理 URL 末尾的端口。默认值为 3000,但您可以在配置中指定一个。如果您不在 url 末尾添加端口,BrowserSync 将不会重新加载页面。这对我有用。
function server() {
browserSync.init({
proxy: 'dev.site.com', //alias
port: 8080, //<-- changed default port (default:3000);
open: false //<-- set false to prevent opening browser
});
}
因此,您将在浏览器中访问:http://dev.site.com:8080
答案 2 :(得分:-2)
要解决这个问题,当我遇到类似情况的麻烦时,我必须包含端口选项(@maximilian在他的回答中提到),并且还需要files选项。
gulp.task('bs', function() {
browserSync.init({
proxy: 'dev.site.com',
port: 4040,
files: ['*.html', '**/*.css', '**.*.js']
});
});
答案 3 :(得分:-4)
我认为它按预期工作。
代理一个现有的虚拟主机。 BrowserSync将使用代理URL包装您的虚拟主机以查看您的网站。