vue打包静态资源后显示空白及static文件路径报错的解决


Posted in Javascript onSeptember 02, 2020

今天使用vue打包(npm run build)遇到了几个坑,在这里分享给大家

打包之后打开dist的页面显示空白:

这个问题以前就处理过,是打包过程中出现错误频率较高的一种,可能有3处地方会出现这种情况

1、记得改一下config下面的index.js中bulid模块导出的路径。因为打包后的index.html里边的内容都是通过script标签引入的,默认显示的路径不对,打开肯定是空白的。

build: {
  index: path.resolve(__dirname, '../dist/index.html'),
  assetsRoot: path.resolve(__dirname, '../dist'),
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  productionSourceMap: true,
  devtool: '#source-map',
  productionGzip: false,
  productionGzipExtensions: ['js', 'css'],
  bundleAnalyzerReport: process.env.npm_config_report
 }

这里需要将 assetsPublicPath: '/'改为assetsPublicPath: './',

2.src里边router/index.js路由配置里边默认模式是mode:'hash'(页面会在路由上加#),有时候改成了history(纯净路由)模式的话,打开也会是一片空白。所以改为hash或者直接把模式配置删除,让它默认的就行 。

export default new Router({
//mode: 'history',
mode:'hash',\\或者直接不写
 routes: [{}]
)}

3.也有可能是因为背景图片路径没有配置需要在build/utils.js添加配置publicPath: '../../'

if (options.extract) {
   return ExtractTextPlugin.extract({
    use: loaders,
    publicPath:'../../',
    fallback: 'vue-style-loader'
   })
  } else {
   return ['vue-style-loader'].concat(loaders)
  }

打包后找不到响应路径:

这都是比较常见的几种解决方式,如果将静态资源的图片路径作为绑定数据以js引入,图片放入了static里面用来引入这个页面又该怎样处理呢,如果以绝对路径访问vue打包是不会处理这一类的,所以打包后它图片访问的路径不会更改,而打包后dist文件里就只有index.html和webpack不会处理的static文件夹(vue static/下的文件都不会被Webpack处理:它们使用相同的文件名,直接拷贝到最终的路径)

解决方式有两种,

1.如果要上线的话,需要将你的主域名加在static之前然后他会逐级去访问打包后的文件。

return {
 isShow:true,
 imgData:'',
 myUpPic:'/yourDN/static/img/logo.png'
}

2.由于vue将组件访问静态资源的路径配置好了,你可以直接/static来找到static下的文件,但是这里的问题就是你访问的时候它是逐级访问这些文件的,所以打包后他还是会找不到静态资源的文件,在这里你就需要将/static改成./static,这样的话他就会在打包后的文件夹下直接访问其之下的静态资源文件夹。

return {
 isShow:true,
 imgData:'',
  //myUpPic:'/static/img/logo.png' 
 myUpPic:'./static/img/logo.png'
}

以上就是个人处理vue打包bug的一些小经验,希望这些能够对大家有所帮助。

补充知识:vue打包后路径多了个/css/static

vue打包后路径多了个/css/static导致一些css属性效果不显示。

解决方法:

在build/utils.js文件中添加publicPath:'…/…/',重新打包即可。

if (options.extract) {
   return ExtractTextPlugin.extract({
    use: loaders,
    fallback: "vue-style-loader",
    publicPath: "../../"
   });
  } else {
   return ["vue-style-loader"].concat(loaders);
  }

以上这篇vue打包静态资源后显示空白及static文件路径报错的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
jQuery LigerUI 使用教程入门篇
Jan 18 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
Jun 23 Javascript
使用console进行性能测试
Apr 27 Javascript
jQueryUI中的datepicker使用方法详解
May 25 Javascript
Angularjs手动解析表达式($parse)
Oct 12 Javascript
javascript 闭包详解及简单实例应用
Dec 31 Javascript
vue组件中使用iframe元素的示例代码
Dec 13 Javascript
MVVM框架下实现分页功能示例
Jun 14 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 Javascript
vue.js中ref和$refs的使用及示例讲解
Aug 14 Javascript
vue vant Area组件使用详解
Dec 09 Javascript
关于vue-cli3打包代码后白屏的解决方案
Sep 02 #Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 #Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
Sep 02 #Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 #Javascript
JavaScript this关键字指向常用情况解析
Sep 02 #Javascript
JavaScript arguments.callee作用及替换方案详解
Sep 02 #Javascript
JavaScript Array.flat()函数用法解析
Sep 02 #Javascript
You might like
9个PHP开发常用功能函数小结
2011/07/15 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
javascript window对象属性整理
2009/10/24 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
2015/02/23 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
2020/04/22 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
python邮件发送smtplib使用详解
2020/06/16 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
python调用支付宝支付接口流程
2019/08/15 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
python数据爬下来保存的位置
2020/02/17 Python
Django ModelForm操作及验证方式
2020/03/30 Python
酒店副总岗位职责
2013/12/24 职场文书
预备党员表决心书
2014/03/11 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
股东授权委托书范本
2014/09/13 职场文书
农村党员干部承诺书
2015/05/04 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android