解决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学习笔记(一) 编写高质量代码
Aug 09 Javascript
JS防止用户多次提交的简单代码
Aug 01 Javascript
Javascript浅谈之引用类型
Dec 18 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
浅谈jQuery 选择器和dom操作
Jun 07 Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 Javascript
vue实现todolist单页面应用
Apr 11 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
详解ES6 Fetch API HTTP请求实用指南
Nov 14 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 Javascript
利用原生JS实现data方法示例代码
May 28 Javascript
Vue接口封装的完整步骤记录
May 14 Vue.js
浅谈在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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php array的学习笔记
2012/05/10 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
推荐11个实用Python库
2015/01/23 Python
使用python3构建文件传输的方法
2019/02/13 Python
Python中super函数用法实例分析
2019/03/18 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
英国探险旅游专家:Explore
2018/12/20 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
工艺员岗位职责
2014/02/11 职场文书
活动总结怎么写
2014/04/28 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
单位活动策划方案
2014/08/17 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL