這篇文章主要為大家展示了“webpack打包后直接訪問頁面圖片路徑錯誤的解決方法”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“webpack打包后直接訪問頁面圖片路徑錯誤的解決方法”這篇文章吧。
前言
本文說的這種圖片路徑錯誤是這樣的,運行webpack-dev-server,一切正常,沒有錯誤。當webpack之后,直接打開index頁面,報錯,圖片找不到,找不到的原因是路徑錯誤。
先看我的項目代碼
webpack.config.js
var Webpack = require("webpack");
var path = require("path");
module.exports = {
entry: './js/entry.js',
output: {
path: path.join(__dirname, '/build'),
filename: 'bundle.js',
publicPath: "/src/"
},
module: {
loaders: [{
test: /\.css$/,
loader: 'style-loader!css-loader'
}, {
test: /\.(png|jpg)$/,
loader: 'url-loader?limit=8192&name=images/[hash:8].[name].[ext]'
},
{
test: require.resolve('zepto'),
loader: 'exports-loader?window.Zepto!script-loader'
}
]
},
watch: true,
devtool: "cheap-module-eval-source-map"
}這里設置了publicPath,用法點擊這里
index.html中引用路徑如下:
<script type="text/javascript" src="src/bundle.js" ></script>
當運行webapck-dev-server時,http://localhost:8080/顯示正常。
緊接著,要打包,目的是脫離命令能直接訪問頁面。
操作如下:
1.執行webpack
2.將build中的文件全部拷貝到src中
3.查看頁面
因為圖片路徑錯誤,所以找不到圖片。
我通過單獨給處理圖片的loader設置publicPath解決了這個問題,如下:
{
test: /\.(png|jpg)$/,
loader: 'url-loader?limit=8192&name=images/[hash:8].[name].[ext]',
options:{
publicPath:'/'
}
}然后測試,webapck-dev-server成功,wepback成功,打開頁面訪問,成功。

路徑是這個樣子的。
以上是“webpack打包后直接訪問頁面圖片路徑錯誤的解決方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。