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 18 Vue.js
Vue实现小购物车功能
Dec 21 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
Vue 简单实现前端权限控制的示例
Dec 25 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
vue使用v-model进行跨组件绑定的基本实现方法
Apr 28 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
vue+spring boot实现校验码功能
May 27 Vue.js
vue中使用mockjs配置和使用方式
Apr 06 Vue.js
vue2的 router在使用过程中遇到的一些问题
Apr 13 Vue.js
vue 自定义组件添加原生事件
Apr 21 Vue.js
vue实现input输入模糊查询的三种方式
Aug 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
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
Python设计模式之门面模式简单示例
2018/01/09 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
高中生自我鉴定范文
2013/10/30 职场文书
初三政治教学反思
2014/01/30 职场文书
园艺师求职信
2014/03/10 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
商业融资计划书
2014/04/29 职场文书
图书馆标语
2014/06/19 职场文书
个人年底工作总结
2015/03/10 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
2015年仓库工作总结
2015/04/09 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
Python if else条件语句形式详解
2022/03/24 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技