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 ;

原文地址:https://www.cnblogs.com/maqingyuan/p/8445008.html

时间: 2024-10-10 16:15:20

Vue项目打包后背景图片路径错误的相关文章

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

问题描述: 自己在自学vue做项目的过程中,遇到一个有关背景图片路径的问题,就是css代码中背景图片是根据相对路径来写的,如下图: 当使用npm run dev命令本地访问的时候,背景图片是正常显示的,可使用npm run build命令打包后,访问dist目录下的项目,页面背景图路径就不对了,显示不出背景图.如下两张图对比 图一:使用npm run dev命令访问 图二:使用npm run build命令打包之后,访问dist目录下的文件,出现的问题,背景图片路径变成了http://127.0

vue项目打包后图片以及图标不展示

打包后的index.html在浏览器中打开你会发现图片资源和图标资源未展示出来,此时我们可以在浏览器中检查资源路径,你会发现它是相对于dist文件夹下的路径(static/img/0.65fe52c.jpg),但实质上当我们把该文件夹上传至服务器后该路径是相对于项目根目录来定位的,应该是(../../static/img/0.65fe52c.jpg),故而查找不到资源.我们子啊一个项目中肯定不只一处使用这样的静态资源,那么我们要打包后一个一个去更改吗?必然不是,我们只需要在build/utils

vue项目中设置背景图片

在vue项目开发中,我们经常会碰到动态添加背景图片的问题,可是当我们在样式中添加了背景图片后,背景图片并不能正常的显示出来,如下css样式 这个时候就要考虑使用其它方式了,node中提供了一种有效的方式来解决这个问题就是require 通过行内样式引入就可以解决背景图片不显示的问题了

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

在config/index.js中的build命令的配置有一个属性叫assetsPublicPath,它的值为‘/’.意思是根目录,这时会从index.html所在的硬盘的根目录下开始查找,自然无法找到. 解决办法:改为‘./’这时就不再是绝对路径的根目录了,而是改为了相对路径,同目录下进行查找. build: { ... assetsPublicPath: './', 原文地址:https://www.cnblogs.com/223zzm/p/11259104.html

vue-cli搭建的项目打包之后报“资源路径错误&amp;资源文件找不到“

//在项目的根目录下(和package.json文件同级)新建一个文件vue.config.js的文件,将此段代码复制进去.module.exports = { baseUrl: '/', //在 baseUrl前面加个点baseUrl: './' outputDir: 'dist', lintOnSave: true, runtimeCompiler: true, chainWebpack: () => {}, configureWebpack: () => {}, devServer: {

vue图片、背景图片路径问题

vue图片.背景图片路径问题 vue中引入图片经常会出现路径问题,在此记录一下: 1.组件中 <img> 引用图片 <img src="../assets/img/logo.png" > 2.app.vue  <style>中引入图片 body {background: url('../static/img/back5.jpg');} 3.组件行间样式引入背景图片 <div style="background-image:url(’s

vue项目打包部署-----解决打包后访问资源失败问题

vue项目打包部署-----解决打包后访问资源失败问题. 本文链接:https://blog.csdn.net/kaola_l/article/details/80497490 打包之前需要修改如下配置文件: 配置文件一:build>>utils.js (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件的问题) 配置文件二:config>>index.js(修改assetsPublicPath:'./' ,修改目的是为了解决js找

vue项目打包踩坑记

基于webpack+vue-cli下的vue项目打包命令是 npm run build ,等待打包完成后在根目录生成dist文件夹,里面包含了所有项目相关的内容. 注意:需要完整版的vue-cli项目,即通过vue init webpack初始化的项目才可以,通过vue init webpack-simple初始化的项目没有打包文件,无法打包.目录结构如下 vue init webpack初始化的目录结构,打包依赖build和config文件夹的配置,static存放静态文件 vue init

jQuery获取和设置disabled属性、背景图片路径

之前对于这个独特的disabled属性获取和设置很混乱,今天项目中用到了,用attr不能实现,于是多次试验得出: 获取disabled属性用prop $("#basic_key").prop("disabled") 以上会返回true或false. 然后设置disabled是attr,重点是后面的一个参数不加引号: $("#basic_key").attr("disabled",'false') //false加引号是错误的~