首頁  >  文章  >  web前端  >  webpack打包後訪問頁面報錯的問題及解決方法

webpack打包後訪問頁面報錯的問題及解決方法

零下一度
零下一度原創
2018-05-19 09:23:433423瀏覽

這篇文章主要為大家介紹了在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中

#  33 .查看頁面

因為圖片路徑錯誤,所以找不到圖片。

我透過單獨給處理圖片的loader設定publicPath解決了這個問題,如下:

   {
  test: /\.(png|jpg)$/,
  loader: &#39;url-loader?limit=8192&name=images/[hash:8].[name].[ext]&#39;,
  options:{
   publicPath:&#39;/&#39;
  }
  }

然後測試,webapck-dev-server成功,wepback成功,打開頁面訪問,成功。

路徑是這個樣子的。

以上是webpack打包後訪問頁面報錯的問題及解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn