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编写h5公众号跳转小程序的实现代码
Nov 27 Vue.js
vue 通过base64实现图片下载功能
Dec 19 Vue.js
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
vue3中轻松实现switch功能组件的全过程
Jan 07 Vue.js
Vue实现简单计算器
Jan 20 Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
vue组件的路由高亮问题解决方法
May 11 Vue.js
vite+vue3.0+ts+element-plus快速搭建项目的实现
Jun 24 Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
Vue3如何理解ref toRef和toRefs的区别
Feb 18 Vue.js
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 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
oracle资料库函式库
2006/10/09 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
php中socket的用法详解
2014/10/24 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
使用python画社交网络图实例代码
2019/07/10 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
python机器学习库xgboost的使用
2020/01/20 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
美国五金商店:Ace Hardware
2018/03/27 全球购物
工厂厂长岗位职责
2013/11/08 职场文书
《王二小》教学反思
2014/02/27 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
2014年度工作总结报告
2014/12/15 职场文书
乐山大佛导游词
2015/02/02 职场文书
办公室主任个人总结
2015/02/28 职场文书
Nginx源码编译安装过程记录
2021/11/17 Servers
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server