Vue项目打包后背景图片路径错误

Posted maqingyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue项目打包后背景图片路径错误相关的知识,希望对你有一定的参考价值。

vue项目打包之后背景图片出错的解决方案如下:

 

1,找到 config->index.js里面,如下修改

 

默认配置:
  env: require(\'./prod.env\'),
  index: path.resolve(__dirname, \'../dist/index.html\'),
  assetsRoot: path.resolve(__dirname, \'../dist\'),
  assetsSubDirectory: \'static\',
  assetsPublicPath: \'/\',


修改为:
  env: require(\'./prod.env\'),
  index: path.resolve(__dirname, \'../hgpc/index.html\'),
  assetsRoot: path.resolve(__dirname, \'../hgpc\'),
  assetsSubDirectory: \'./static\',
  assetsPublicPath: \'./\',

 

2,找到 build->utils.js,在里面加入一句publicPath:\'../../\',

  if (options.extract) {
    return ExtractTextPlugin.extract({
    use: loaders,
    publicPath:\'../../\',
    fallback: \'vue-style-loader\'
    })
  } else {
    return [\'vue-style-loader\'].concat(loaders)
    }
  }

 

3,配置修改完成,接下来,使用有两种方式,这里一般和文件结构有关,下面是我的文件结构下的使用

 

 

 注意事项(分两种情况):

 

第一种:图片资源放在 assets->img文件夹下面

1,img标签引入图片

<img src="../assets/img/loginback.png" class="test-img" />

2,css使用图片

background: url(\'../assets/img/loginback.png\') no-repeat top left ;

第二种:图片资源放在static->img文件夹下面

1,img标签引入图片

<img src="../../static/img/loginback.png" class="test-img" /><br><img src="static/img/loginback.png" class="test-img" />

2,css使用图片

background: url(\'../../static/img/loginback.png\') no-repeat top left ;

 

以上是关于Vue项目打包后背景图片路径错误的主要内容,如果未能解决你的问题,请参考以下文章

vue-cli在打包后js获取的图片路径错误问题时候

解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

vue项目打包后css背景图路径不对的问题

vue项目打包图片路径错误

vue项目打包后资源相对引用路径的和背景图片路径问题

vue打包后发布文件路径错误且报错Unexpected token <