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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
jQuery实现的多选框多级联动插件
May 02 Javascript
jquery中object对象循环遍历的方法
Dec 18 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
Oct 30 Javascript
Node.js连接postgreSQL并进行数据操作
Dec 18 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
Mar 30 Javascript
vue js秒转天数小时分钟秒的实例代码
Aug 08 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
Feb 08 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
Jun 18 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
JS事件循环机制event loop宏任务微任务原理解析
Aug 04 Javascript
原生js实现表格翻页和跳转
Sep 29 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
德劲1104的电路分析与改良
2021/03/01 无线电
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
获取PHP警告错误信息的解决方法
2013/06/03 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
JS原型对象通俗"唱法"
2012/12/27 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
Python中的进程分支fork和exec详解
2015/04/11 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
浅谈python标准库--functools.partial
2019/03/13 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
总经理助理的职责
2014/03/14 职场文书
高中班级口号
2014/06/09 职场文书
设计师求职信
2014/07/01 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python