2016-07-07 21 views
5

Tôi gặp sự cố khi tải tệp mp3 của mình để hoạt động bằng trình tải tệp webpack.Cung cấp các tệp mp3 bằng trình tải tệp webpack

Đây là vấn đề:

Tôi có một tập tin mp3 trên đĩa cứng của tôi, rằng nếu tôi mở bằng chrome bằng ví dụ "c: \ somefolder \ somemp3file.mp3" mở ra trong một tab trong trình duyệt và chơi tốt.

Tuy nhiên, khi tôi phân phát cùng một tệp bằng cách sử dụng gói web, nó không hoạt động. Tôi đã cấu hình bộ nạp trong webpack như thế này:

{ 
    test: /\.(gif|jpg|png|mp3|aac|ogg)$/, 
    loader: 'file' 
} 

Sau đó, khi tôi đang cố gắng để liên kết đến tập tin tôi cần nó bên javascript của tôi, như thế này:

require('file!./../content/somemp3file.mp3'); 

này một cách chính xác trả về cho tôi url cho tệp mp3.

Nếu tôi cố gắng theo cách thủ công, hãy truy cập localhost:8080 theo sau url được trả về theo yêu cầu, trình phát mp3 trong Chrome bật lên như tôi mong đợi, nhưng không thể phát tệp và không thể nhấp vào nút phát như tệp bị hỏng hoặc gì đó.

Có ai biết tôi đang làm gì sai ở đây không?

+0

Hãy thử loại bỏ các file ' 'khi bạn gọi' require()'!. Điều đó thực sự gây ra tệp '.mp3' thứ hai được tạo, có thể ~ 80byte. Nếu bạn nhìn vào các tập tin đó chỉ là một mô-đun xuất khẩu của một chuỗi (URL để thực tế '.mp3' tập tin đó là đóng gói). Vì vậy, để lại cấu hình webpack như bạn có nó, và trong tập tin js của bạn, 'var src = require ('./../ content/somemp3file.mp3'); document.getElementById ('myAudio'). src = src; ' –

Trả lời

3

Sử dụng tập tin-loader như thế này:

{ 
    test: /\.mp3$/, 
    include: SRC, 
    loader: 'file-loader' 
} 
Các vấn đề liên quan