我說的這種圖片路徑錯誤是這樣的,運行webpack-dev-server,一切正常,沒有錯誤。當webpack以後,直接打開index頁面,報錯,圖片找不到,找不到的緣由是路徑錯誤。javascript
先看個人項目代碼css
webpack.config.jshtml
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,用法點擊這裏java
index.html中引用路徑以下:webpack
<script type="text/javascript" src="src/bundle.js" ></script>
當運行webapck-dev-server時,http://localhost:8080/顯示正常。web
緊接着,要打包,目的是脫離命令能直接訪問頁面。操做以下:webpack-dev-server
1.執行webpack測試
2.將build中的文件所有拷貝到src中ui
3.查看頁面url
由於圖片路徑錯誤,因此找不到圖片。
我經過單獨給處理圖片的loader設置publicPath解決了這個問題,以下:
{ test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192&name=images/[hash:8].[name].[ext]', options:{ publicPath:'/' } }
而後測試,webapck-dev-server成功,wepback成功,打開頁面訪問,成功。
路徑是這個樣子的。