0

我使用 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 配置中为这些请求设置路由?如果不可能,有什么办法可以让它工作吗?

4

0 回答 0