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

// emplate for index.htmlindex: path.resolve(__dirname, '../dist/index.html'),// PathsassetsRoot: 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项目打包后提示图片文件路径错误的解决方法相关推荐

  1. 苹果cms防红跳转开启后提示模板文件不存在的解决方法

    苹果cms开启防红跳转后,提示模板文件不存在(如下图)这是因为你使用的模板里面缺少苹果cms自带的防红跳转模板导致,遇到这种状况后需要把苹果cms默认自带的( template/default_pc/ ...

  2. Vue项目build后静态资源文件路径或新建文件夹图片路径找不到的问题

    问题描述:使用vue-cli脚手架工具生成的vue项目,使用npm run build后生成的文件直接双击打开白屏一片. 解决方案: 第一步:修改build文件夹下utils.js,在以下位置加入 i ...

  3. Vue项目启动后Error: Cannot find module ‘xxx’的解决方法

    文章目录 1. 删除 2. 安装依赖 3. 启动项目 解决方法 1. 删除 删除 node_modules 整个文件夹和 package-lock.json 文件(这个文件不一定有),注意不是 pac ...

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

    解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题 2018年05月23日 10:05:35 for_weber 阅读数:14179 Vue项目运行npm run buil ...

  5. 快速解决Vue项目打包后文件过大问题

    快速解决Vue项目打包后文件过大问题 为什么打包后文件过大? 如何快速解决 一.路由懒加载[使用es6提案的import()方式] 二.CDN引入 为什么打包后文件过大? 移动app项目,使用vue- ...

  6. vue+webpack项目打包后背景图片加载不出来问题解决

    vue+webpack项目打包后背景图片加载不出来问题解决 参考文章: (1)vue+webpack项目打包后背景图片加载不出来问题解决 (2)https://www.cnblogs.com/mica ...

  7. Vue项目打包后js文件压缩

    前言 这段时间因为免费试用了https://free.aliyun.com/一台阿里云的服务器,配置是 2核4G 2M, 因为带宽太低了,每次在第一次加载的时候太慢了,通过F12调试,发现主要是因为加 ...

  8. php项目index页面空白,如何解决vue项目打包后打开页面空白的问题

    这篇文章主要介绍了vue项目打包后打开空白解决办法,内容挺不错的,现在分享给大家,也给大家做个参考. 网上很多说自己的VUE项目通过Webpack打包生成的list文件,放到HBulider打包后,通 ...

  9. (javascript)vue项目打包后,写的覆盖element的样式无效了。这是什么原因?

    问题: (javascript)vue项目打包后,写的覆盖element的样式无效了.这是什么原因?描述: 在开发模式模式下,写的覆盖样式都有效,打包后就无效,请问下是什么原因? main.js里的c ...

最新文章

  1. linux c select 设置超时
  2. nginx php win平台配置
  3. 基于DDD的.NET开发框架 - ABP缓存Caching实现
  4. python私有方法应用场景_Python私有属性私有方法应用实例解析
  5. java flatmap_Java 8 Steam API map和flatMap方法使用详解
  6. SpringMVC自学日志07(整合Mybatic)
  7. 进程间的六种通信方式
  8. java创建solr core_Error CREATEing SolrCore 'new_core':Unable to create core [new_core]
  9. 程序中使用log4J打印信息的两种方式
  10. 【语音处理】基于matlab噪声信号功率谱【含Matlab源码 1712期】
  11. visio2016下载与安装
  12. A64指令集如何将64位的数值写入通用寄存器
  13. Sportisimo EDI项目需求及包装标准
  14. “采菊东篱下,悠然见南山”----南山路上品太古 总结
  15. 【Asan】工欲善其事必先利其器——AddressSanitizer
  16. MySQL---规范数据库设计
  17. 中餐厅服务器维护,《中餐厅5》首播,龚俊仅出镜10分钟,两个细节表明他恐不会常驻...
  18. Oracle查询表空间
  19. Word无法打开该文件,因为文件格式与文件扩展名不匹配 | 无法从该位置打开扩展名为.asd的文件
  20. 计算机关闭远程桌面,windows 远程桌面关闭 运行程序退出

热门文章

  1. Java基于UDP实现 客户端/服务器
  2. 21财经APP微纪录丨苏宁易购:AI赋能智慧门店
  3. 升职加薪的大门已向你敞开 CSDN线上云招聘来了!
  4. 智能机器人c语言编程,【图片】教你快速制作一个简单的人工智能机器人(懂编程的人进来看)【科幻吧】_百度贴吧...
  5. python winerror 10065_无法建立新连接:[WinError 10060]
  6. halcon 字符识别(点阵字符)
  7. 一粒沙子的爱情故事之二
  8. 最优化方法 24:ADMM
  9. 南非储备银行新报告增强该国加密货币监管清晰度
  10. 下列语句中在python中是非法的_下列语句中,()在Python中是非法的。