2016-07-25 15 views
5

Tôi đang sử dụng số dev server của Webpack để dễ phát triển địa phương. Tôi đang làm việc trên một ứng dụng trang duy nhất, vì vậy tôi đã kích hoạt historyApiFallback:Cố gắng định tuyến URL có dấu chấm dẫn đến 404 với máy chủ webpack dev

common.devServer = { 
    outputPath: path.join(__dirname, 'www', outDir), 
    historyApiFallback: true 
}; 

Tuy nhiên, bất cứ khi nào tôi cố gắng duyệt đến một url có chứa dấu chấm (như /ui/alerts/map.postplay), tôi nhận được

Không thể GET /ui/alerts/map.postplay

Làm cách nào để thuyết phục webpack-dev-server cho phép tôi sử dụng các url này?

Trả lời

9

UPDATE: Bây giờ bạn có thể chỉ cần đặt historyApiFallback tới:

historyApiFallback: { 
    disableDotRule: true 
} 

(! Nhờ BenR để sửa chữa này)

Vấn đề không nằm ở chỗ webpack-dev-server nhưng historyApiFallback cấu hình riêng của mình (về mặt kỹ thuật, sử dụng Webpack connect-history-api-fallback). Có một known bug liên quan đến URL có dấu chấm.

Bạn có thể cập nhật các cấu hình cho historyApiFallback để viết lại tất cả các url có chứa giai đoạn:

historyApiFallback: { 
    rewrites: [ 
    {from: /\./, to: '/'} 
    ] 
} 

Vì đây hoạt động trên req.url, bạn cần sử dụng tốt ngay cả khi bạn đang làm dev địa phương về một cái gì đó khác hơn localhost qua lưu trữ tệp, v.v.

+1

Bây giờ bạn có thể vô hiệu hóa quy tắc chấm khi điều này dẫn đến sự cố cho bạn: https://github.com/bripkens/connect-history-api-fallback#disabledotrule – BenR

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