重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“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中引用路径如下:
当运行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打包后直接访问页面图片路径错误的解决方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!