这里有新鲜出炉的精品教程,程序狗速度看过来!
前言
本文说的这种图片路径错误是这样的,运行
,一切正常,没有错误。当webpack之后,直接打开index页面,报错,图片找不到,找不到的原因是路径错误。
- webpack-dev-server
先看我的项目代码
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>
当运行
时,http://localhost:8080/显示正常。
- webapck-dev-server
紧接着,要打包,目的是脱离命令能直接访问页面。
操作如下:
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成功,打开页面访问,成功。
路径是这个样子的。
总结
以上就是这文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对phperz的支持。
来源: http://www.phperz.com/article/17/0906/338598.html