解决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 类似flash效果的立体图片浏览器
Feb 08 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
Mar 21 Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 Javascript
javascript递归回溯法解八皇后问题
Apr 22 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
Oct 10 Javascript
js中创建对象的几种方式
Feb 05 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
jQuery日期范围选择器附源码下载
May 23 jQuery
vue项目打包后打开页面空白解决办法
Jun 29 Javascript
如何使用Jquery动态生成二级选项列表
Feb 06 jQuery
javascript之Object.assign()的痛点分析
Mar 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的库,结果发现很多东西
2006/12/31 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
JS解密入门 最终变量劫持
2008/06/25 Javascript
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
使用angular写一个hello world
2015/01/23 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
python+django快速实现文件上传
2016/10/24 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python实现停车管理系统
2018/11/30 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
简历自我评价模版
2014/01/31 职场文书
销售经理竞聘书
2014/03/31 职场文书
教师考核评语大全
2014/12/31 职场文书
python如何获取网络数据
2021/04/11 Python
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫