我使用 Vagrant VM 来重现我的生产服务器以进行本地 Web 开发。
主机运行 Windows 10,来宾在 Ubuntu 14.04 上运行 Nginx 1.10,VirtualBox 作为提供程序。
我想在开发过程中使用 Gulp 和 Browsersync 提供文件。这是我从 gulp serve 任务中的 browsersync 配置:
browserSync.init({
ui: {
port: 3001
},
open: false,
port: 3000,
server: {
baseDir: ['.tmp', 'app'],
routes: {
"/bower_components": "bower_components"
}
}
});
我设法让它与这个一起工作:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
server_name test.local.dev;
location / {
proxy_pass http://localhost:3000/;
}
location /ui/ {
proxy_pass http://localhost:3001/;
}
# BrowserSync websocket
location /browser-sync/socket.io/ {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
如此处所示的套接字配置:如何使 BrowserSync 与 nginx 代理服务器一起工作?
该站点,重新加载和浏览器同步效果很好。但是 UI 找不到需要的文件。
GET http://test.local.dev/js/vendor/socket.js
GET http://test.local.dev/js/app.min.js
GET http://test.local.dev/js/pages-config.js
GET http://test.local.dev/lib/client-js.js
GET http://test.local.dev/js/vendor/socket.js
GET http://test.local.dev/js/app.min.js
GET http://test.local.dev/js/pages-config.js
GET http://test.local.dev/lib/client-js.js 404 (Not Found)
如何在 Browsersync 配置中为这些请求设置路由?如果不可能,有什么办法可以让它工作吗?