• 技术文章 >web前端 >js教程

    webpack打包后访问页面报错的问题及解决方法

    零下一度零下一度2018-05-19 09:23:43原创2238
    这篇文章主要给大家介绍了在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打包后访问页面报错的问题及解决方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:详解Webpack 中路径的相关配置 下一篇:publicPath路径问题及解决方法实例
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• JavaScript创建多个对象方法总结• 如何安装并管理多版本node?方法介绍• 聊聊node+multiparty怎么实现文件上传• 深入了解Angular中的依赖注入模式(玩法案例)• 简单聊聊JavaScript中的事件监听
    1/1

    PHP中文网