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 相关文章推荐
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
javascript下高性能字符串连接StringBuffer类
Aug 16 Javascript
js的Prototype属性解释及常用方法
May 08 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
May 15 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
JavaScript实现定时页面跳转功能示例
Feb 14 Javascript
js获取元素下的第一级子元素的方法(推荐)
Mar 05 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
Mar 25 Javascript
vue-cli如何添加less 以及sass
Jul 06 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
Node.js API详解之 querystring用法实例分析
Apr 29 Javascript
微信小程序实现watch监听
Jun 04 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
第四章 php数学运算
2011/12/30 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
python 字典操作提取key,value的方法
2019/06/26 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
JAVA代码查错题
2014/10/10 面试题
同学会邀请书大全
2014/01/12 职场文书
高二地理教学反思
2014/01/24 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
餐饮投资计划书
2014/04/25 职场文书
机械工程师岗位职责
2014/06/16 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
2015团员个人年度总结
2015/11/24 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
关于使用Redisson订阅数问题
2022/01/18 Redis