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 Select标记中options操作方法集合
Oct 22 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
使用命令对象代替switch语句的写法示例
Feb 28 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
Sep 01 Javascript
js基础知识(公有方法、私有方法、特权方法)
Nov 06 Javascript
JavaScript_ECMA5数组新特性详解
Jun 12 Javascript
微信小程序进行微信支付的步骤昂述
Dec 01 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
微信小程序实现换肤功能
Mar 14 Javascript
对Vue beforeRouteEnter 的next执行时机详解
Aug 25 Javascript
微信提示 在浏览器打开 效果实现过程解析
Sep 10 Javascript
100行代码实现vue表单校验功能(小白自编)
Nov 19 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
桌面中心(四)数据显示
2006/10/09 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
python如何从文件读取数据及解析
2019/09/19 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
python如何支持并发方法详解
2020/07/25 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
经典c++面试题五
2014/12/17 面试题
毕业生的自我评价
2013/12/30 职场文书
优秀幼教自荐信
2014/02/03 职场文书
初中学校对照检查材料
2014/08/19 职场文书
竞选学委演讲稿
2014/09/13 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
2021年最新用于图像处理的Python库总结
2021/06/15 Python