解决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 相关文章推荐
js自执行函数的几种不同写法的比较
Aug 16 Javascript
当json键为数字时的取值方法解析
Nov 15 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
May 25 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
使用travis-ci如何持续部署node.js应用详解
Jul 30 Javascript
快速解决vue在ios端下点击响应延时的问题
Aug 27 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
Nov 09 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 Javascript
layer ui 导入文件之前传入数据的实例
Sep 23 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 显示指定路径下的图片
2009/10/29 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
九步学会Python装饰器
2015/05/09 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
Python类中self参数用法详解
2020/02/13 Python
Python线程threading模块用法详解
2020/02/26 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
教师自我鉴定范文
2013/11/10 职场文书
打造完美自荐信
2014/01/24 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
JavaScript 定时器详情
2021/11/11 Javascript
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers