解决vue项目打包后提示图片文件路径错误的问题


Posted in Javascript onJuly 04, 2018

vue项目打包后在production模式下提示图片 ‘404(not found),在dev环境下好好的,打包了就提示这个错误。这是为什么呢,以前第一次使用vue-cli构建项目的的时候只有两个图片文件,当时部署后报错路径问题, 当时的想法就是简单粗暴,直接在build好的文件修改了文件路径,再后来项目中遇到了一大堆静态资源,修改路径显然是不行的,看了一下生成文件大概知道是文件目录改变了,所以引用的路径也要随之改变,网上最简单的方法是修改 ‘config/index.js'文件中的 build模块:

// emplate for index.html
 index: path.resolve(__dirname, '../dist/index.html'),
 // Paths
 assetsRoot: path.resolve(__dirname, '../dist'),
 assetsSubDirectory: 'static',
 assetsPublicPath: './',

       将默认的改为上文这样子,静态文件目录改为static,静态路径改为‘./',即相对路径。 ok了?

 试了一下还是有404,当时想到的就是难道只能在组件data中以“require”的方式一个一个的引入了吗? 这个属于js中以模块引入方式确实可行,但是太繁琐,想一下,使用这张图的时候在html文档结构中以 “:bind”的方式将资源以code的方式加在html文档中,不是说这样不行,这样也是可以实现想要的效果的,但是这样做会导致不仅文档结构不清晰,冗余度高,维护起来麻烦,而且资源很多的时候这是一项庞大且繁琐的工作,徒增加无用功。

这样第三种方法应用而生,就是修改‘build'目录下的utils.js文件,将文件中的“generateLoaders”函数改为:

pluginfunction generateLoaders (loader, loaderOptions) {
  const loaders = options.usePostCSS ?
   [cssLoader,   postcssLoader] : [cssLoader]
  if (loader) {
   loaders.push({
    loader: loader + '-loader',
    options: Object.assign({}, loaderOptions, {
     sourceMap: options.sourceMap
    })
   })
  }
  // Extract CSS when that option is specified
  // (which is the case during production build)
  if (options.extract) {
   return ExtractTextPlugin.extract({
    use: loaders,
    fallback: 'vue-style-loader',
    publicPath:'../../'         //add
   })
  } else {
   return ['vue-style-loader'].concat(loaders)
  }
 }

重点是if…else判断中的那个”publicPath:'../../' ”

build一下,部署在服务端,ok可行,这样就可以愉快的在style中使用图片资源了。

总结

以上所述是小编给大家介绍的解决vue项目打包后提示图片文件路径错误的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript图像处理—仿射变换深度理解
Jan 16 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
Nov 30 Javascript
js 获取、清空input type="file"的值示例代码
Feb 19 Javascript
jQuery与getJson结合的用法实例
Aug 07 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
JS去除重复并统计数量的实现方法
Dec 15 Javascript
Echarts基本用法_动力节点Java学院整理
Aug 11 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
Sep 11 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
Sep 11 Javascript
JS实现的雪花飘落特效示例
Dec 03 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 #Javascript
Redux实现组合计数器的示例代码
Jul 04 #Javascript
用Node编写RESTful API接口的示例代码
Jul 04 #Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 #Javascript
JS实现点击按钮可实现编辑功能
Jul 03 #Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 #Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
Jul 03 #Javascript
You might like
php eval函数一句话木马代码
2015/05/21 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
python的正则表达式re模块的常用方法
2013/03/09 Python
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
总经理助理的八要求
2013/11/12 职场文书
司仪主持词两篇
2014/03/22 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
龙门石窟导游词
2015/02/02 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android