Vue 打包的静态文件不能直接运行的原因及解决办法


Posted in Vue.js onNovember 19, 2020

问题

吾辈使用 vue-cli 直接生成的 vue 模板项目,在模板之上继续开发的。然而在使用 npm run build 打包项目时,却发现打包好的项目在浏览器中直接打开好像什么都没有?

原因

查看了一下打包后的 index.html 源码,终于发现了一个重要的点:

Vue 打包的静态文件不能直接运行的原因及解决办法

所有涉及到路径的地方全都是以 / 开头的

下面是吾辈打包后生成的 dist 目录

dist:.
│ index.html
│
└─static
  ├─css
  │   app.b7bce283257fbd427fb1dc3fea80cee1.css
  │   app.b7bce283257fbd427fb1dc3fea80cee1.css.map
  │
  ├─fonts
  │   MaterialIcons-Regular.012cf6a.woff
  │   MaterialIcons-Regular.570eb83.woff2
  │   MaterialIcons-Regular.a37b0c0.ttf
  │   MaterialIcons-Regular.e79bfd8.eot
  │
  └─js
      app.58cce746b2fe4ac2f2b9.js
      app.58cce746b2fe4ac2f2b9.js.map
      manifest.2ae2e69a05c33dfc65f8.js
      manifest.2ae2e69a05c33dfc65f8.js.map
      vendor.a32972498ed8de656202.js
      vendor.a32972498ed8de656202.js.map

这下很清楚了,vue-cli 生成的模板项目打包后的文件默认需要放到静态资源服务器上,而且还必须是根目录!这很不好,很糟糕,所以需要修改配置。

解决方案

修改文件 _/config/index.js_,将 build.assetsPublicPath 属性的值由 / 改为 ./

Vue 打包的静态文件不能直接运行的原因及解决办法

修改文件 _/build/utils.js_,在插件 ExtractTextPlugin 中添加 publicPath: '../../'

Vue 打包的静态文件不能直接运行的原因及解决办法

那么,使用 npm run build 重新打包后的静态文件应该就可以直接打开啦

以上就是Vue 打包的静态文件不能直接运行的原因及解决办法的详细内容,更多关于vue 打包静态文件的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
Vue实现点击当前行变色
Dec 14 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
Vue实现小购物车功能
Dec 21 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
vue组件的路由高亮问题解决方法
May 11 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
vue数据字典取键值项目的字典问题
Apr 12 Vue.js
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
Vue Mint UI mt-swipe的使用方式
Jun 05 Vue.js
如何使用 vue-cli 创建模板项目
Nov 19 #Vue.js
深入了解Vue3模板编译原理
Nov 19 #Vue.js
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 #Vue.js
vue 插槽简介及使用示例
Nov 19 #Vue.js
详解Vue的mixin策略
Nov 19 #Vue.js
一篇超完整的Vue新手入门指导教程
Nov 18 #Vue.js
vue3.0实现点击切换验证码(组件)及校验
Nov 18 #Vue.js
You might like
海贼王:最美的悬赏令!
2020/03/02 日漫
PHP中foreach()用法汇总
2015/07/02 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
js中bool值的转换及“&&”、“||”、 “!!”详解
2017/12/21 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
js实现内置计时器
2019/12/16 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python中的fileinput模块的简单实用示例
2015/07/09 Python
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
竞选班长的演讲稿
2014/04/24 职场文书
暑期学习心得体会
2014/09/02 职场文书
太空授课观后感
2015/06/17 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang