2015-05-21 25 views

Trả lời

2

Trong các tùy chọn trình duyệt của bạn, hãy chuyển đến startPath để bắt đầu trên một URL khác '/'.

Điều này không thay đổi những gì máy chủ của bạn chỉ đang phục vụ đường dẫn mà BrowserSync sẽ bắt đầu.

http://www.browsersync.io/docs/options/#option-startPath

+1

Cảm ơn, tôi đoán nó giải quyết được một nửa vấn đề. Một nửa còn lại là để BrowserSync phục vụ ứng dụng ở cùng một đường dẫn như startPath. –

+0

@ MartinStålberg Bạn có bao giờ có thể giải quyết nửa sau của điều này không? –

+0

@JonHarding, thật không may là tôi không thể giải quyết nó. –

0

+1 về điều này.

Đối với máy chủ thử nghiệm của tôi, tôi đang sử dụng ngụm-webserver:

gulp.src('./public') 
    .pipe(webserver({ 
     host: 'localhost', 
     port: '8000', 
     path: '/myapp', 
     fallback: 'index.html' 
     directoryListing: false, 
     https: true 
    })) 

Sau đó, tôi truy cập ứng dụng từ

https://localhost:8000/myapp/view

nhưng khi tôi sử dụng Browsersync cho chế độ dev tôi phải sử dụng

https://localhost:9000/view

Thật tuyệt khi có nó giống nhau, vậy có lẽ tôi sẽ ngừng sử dụng máy chủ gulp-webserver.

2

Máy chủ tĩnh của trình duyệt có thể được định cấu hình để phục vụ các trang từ bất kỳ đường phụ con tùy ý nào. Khi khởi tạo máy chủ tĩnh của trình duyệt, hãy thêm định nghĩa tuyến đường trong đó khóa là đoạn url để khớp và giá trị là thư mục được phân phối (đường dẫn phải tương đối với thư mục làm việc hiện tại).

Hãy thử một cái gì đó như thế này:

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': '.' 
     } 
    } 
    }); 
}); 

Chạy gulp watch sẽ bắt đầu Browsersync và mở ra một trang với nội dung của ./ hiển thị ở url http://localhost:3000/some/multi/level/path.

baseDir phải được đặt thành chuỗi không trống và không cần phải là đường dẫn hợp lệ. Giá trị Falsey (null, false và chuỗi trống) sẽ không hoạt động.

Đoạn mã trên là một tệp gulpfile đang hoạt động và đã được kiểm tra chống lại Browsersync v2.18.5 và gulp v3.9.1. Đây là số complete gist.

1

Dường như tùy chọn không khả dụng. startPath sẽ chỉ thay đổi URL nào được mở bởi trình duyệt đồng bộ hóa.

Cuối cùng tôi đã đưa ra một giải pháp đơn giản:

Chỉ cần tạo một liên kết tượng trưng từ some/multi/level/path thư mục để your app files. Sau đó, truy cập localhost:9000/some/multi/level/path sẽ cung cấp cùng một tệp như truy cập localhost:9000

Các vấn đề liên quan