解决vue打包后静态资源路径错误的问题

本文介绍了在网页开发中,如何通过HTML、CSS和JavaScript的不同方式引入资源,并探讨了资源加载时可能出现的问题,如base64编码限制、webpack配置以及字体和图标显示问题的解决方案。
摘要由CSDN通过智能技术生成

页面中引入资源的方式往往有如下几种

* HTML标签中直接引入图片, 如 <img src="../assets/images/index.png">

* JS代码中定义资源路径属性,如src: require('../assets/images/index.png')

* CSS代码中定义资源为背景图片,如background-image: url("../assets/images/indexpng")

上述三种资源加载方式还是有所区别的。

前两种无论图片大小,都会使用url-loader加载器将其转化为base64编码的静态资源,而第三种方式则会根据webpack中配置的limit参数,动态选择符合大小要求的图片进行转码,此时则会导致不符合大小选择的图片加载失败,同时报出如下错误。localhost:8080/dist/static/css/static/img/index.254207f.png

解决:

1.保证打包资源路径可用,首先要做的是配置build.js执行时的资源参数,打开config目录下的index.js

看代码:

index: path.resolve(__dirname, ‘…/dist/index.html’),

assetsRoot: path.resolve(__dirname, ‘…/dist’),

assetsSubDirectory: ‘static’,

assetsPublicPath: ‘./’, // 修改为’./'满足资源相对路径

2.保证资源转码条件符合。这块主要涉及到加载用到的加载器url-loader, 需要保证其配置可执行。打开build目录下的webpack.base.conf.js

看代码:

{

test: /.(png|jpe?g|gif|svg)(?.*)?$/,

loader: ‘url-loader’,

options: {

limit: 10000, // 该限制为小于10KB的图片,系统默认转码为base64

name: utils.assetsPath(‘img/[name].[hash:7].[ext]’)

}

},

依赖资源路径问题(字体、图标)

起因:

系统采用vue + elementUI,但是发现打包之后的字体文件和图标都不能正常显示,报错如下:

在这里插入图片描述

解决:

学习笔记

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue等等

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

HTML/CSS

**HTML:**HTML基本结构,标签属性,事件属性,文本标签,多媒体标签,列表 / 表格 / 表单标签,其他语义化标签,网页结构,模块划分

**CSS:**CSS代码语法,CSS 放置位置,CSS的继承,选择器的种类/优先级,背景样式,字体样式,文本属性,基本样式,样式重置,盒模型样式,浮动float,定位position,浏览器默认样式

HTML5 /CSS3

**HTML5:**HTML5 的优势,HTML5 废弃元素,HTML5 新增元素,HTML5 表单相关元素和属性

**CSS3:**CSS3 新增选择器,CSS3 新增属性,新增变形动画属性,3D变形属性,CSS3 的过渡属性,CSS3 的动画属性,CSS3 新增多列属性,CSS3新增单位,弹性盒模型

JavaScript

**JavaScript:**JavaScript基础,JavaScript数据类型,算术运算,强制转换,赋值运算,关系运算,逻辑运算,三元运算,分支循环,switch,while,do-while,for,break,continue,数组,数组方法,二维数组,字符串

ript基础,JavaScript数据类型,算术运算,强制转换,赋值运算,关系运算,逻辑运算,三元运算,分支循环,switch,while,do-while,for,break,continue,数组,数组方法,二维数组,字符串

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue项目中,打包后请求静态资源问题可能有两个主要方面需要考虑。首先是静态资源路径错误问题,可能会导致静态资源无法正确加载。其次是可能存在CSS文件引入大图片路径错误问题。这些问题可以通过调整Vue项目打包配置来解决。 首先,如果在部署项目到特定路径下后,静态资源路径错误,可以考虑修改打包配置文件。在使用Vue-cli2脚手架生成的默认打包配置文件中,可以尝试设置publicPath字段为正确的路径。这样可以确保静态资源能够正确加载。 其次,如果使用了相对路径打包静态资源,在CSS文件中引入了大图片,可能会导致路径错误。这可以通过在CSS中使用绝对路径或者正确的相对路径解决。确保图片路径CSS文件所在的位置相对应,这样可以确保资源能够正确加载。 总之,通过调整Vue项目打包配置,包括publicPath字段和CSS中的资源路径,可以解决Vue打包后请求静态资源问题,确保静态资源能够正确加载。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作](https://download.csdn.net/download/weixin_38645434/12923338)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vue-cli脚手架打包静态资源请求出错的原因与解决](https://download.csdn.net/download/weixin_38704701/13219559)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [计算机程序设计语言课程设计(VUE.js)及实践项目的例子.txt](https://download.csdn.net/download/weixin_44609920/88236928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值