音頻文件執(zhí)行webpack后沒有打包到assets文件夾內(nèi)~
而且在JS文件內(nèi)使用
let musicFil = require('../music/yinyue.mp3');
<audio ref='musicBox'src={musicFil} controls="controls" loop='loop'>
Your browser does not support the audio element.
</audio>
后,播放器就變灰了。??刂婆_(tái)中audio標(biāo)簽的src是
<audio src="data:audio/mpeg;base64,bW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyArICJlNzMzMmI4ZThiYTQ5ZDg2NTMzNzdkZjM2YmYyN2MwMS5tcDMiOw==" controls="" loop="">Your browser does not support the audio element.</audio>
成base64編碼了?不知道為什么。。囧
但是src='./music/yinyue.mp3'的路徑卻有效(圖片的話兩種路徑都可以顯示出圖片)
我的webpack loader的配置如下:
{
test: /\.(png|jpg|gif|woff|woff2|mp3)$/,
loader: 'url-loader?limit:8192'
},
{
test: /\.(mp4|ogg|svg|mp3)$/,
loader: 'file-loader!'
}
module.exports = {
srcPath: srcPath,
publicPath: '/assets/',
port: dfltPort,
getDefaultModules: getDefaultModules
};
(打包的時(shí)候由于圖片路徑的原因,publicPath我用的 'assets/';用本地服務(wù)器測(cè)試的時(shí)候路徑用的'/asset/')
請(qǐng)問為什么mp3文件沒辦法打包到指定文件夾呢?為什么用require來指定路徑時(shí),圖片可以但是mp3音頻文件就不行了呢?。。
閉關(guān)修行中......
因?yàn)?url-loader 會(huì)把文件 base64 編碼后插入到指定位置。你去掉 url-loader 中的 .mp3 后綴,不讓這個(gè) loader 處理音頻文件即可。
{
test: /\.(png|jpg|gif|woff|woff2|mp3)$/,
loader: 'url-loader?limit:8192'
},
這里指定多了個(gè)mp3了