Vue 项目部署到服务器的问题解决方法


Posted in Javascript onDecember 05, 2017

相信很多小伙伴在用Vue-cli安装的脚手架开发的时候,在开发环境中项目可以很正常的运行,但是进入到生产环境,编译打包后,放入服务器,项目就不正常了,会出现空白页或者路由跳转404等问题。遇到这些问题不要慌张,正确的配置加上后端的简单配合就可以解决。

如何打包

基于Vue-Cli,通过npm run build来进行打包的操作

如何部署

  1. 将打包出来的资源,基于Vue-Cli的一般是dist目录下有static目录和index.html文件,可以直接将这两个文件扔到服务端
  2. 但有时候,我们会直接将dist文件扔到服务端

出现的问题

  1. 打包到服务器后,出现资源引用路径的问题
  2. 打包到服务器后,出现空白页的问题
  3. 打包到服务器后,出现引入的css的type被拦截转换为"text/plain"问题
  4. 打包到服务器后,出现路由刷新404的问题

下面笔者根据自己Vue项目从编译打包到正常部署服务器的经验,来告诉大家如何解决这些问题。

一、前端配置:

①、router配置--指定路由起始(在开发模式中,Vue项目被放在了webpack配合nodeJs生成的本地服务器的根目录,但是在真实服务器中,项目肯定不会放在根目录,所以要指定router的base)

Vue 项目部署到服务器的问题解决方法

router

提前和后端商量好项目部署的服务器文件夹路径

②、编译打包配置

进入config --> index.js

Vue 项目部署到服务器的问题解决方法

build

③、使用npm run build进行打包,至此前端能做的配置已经做完

二、后端配置:

路由跳转出现404,主要原因是后端对这个虚拟的前端路由没有做任何处理,服务器在找不到指定路径下的资源时,只能向客户端返回404。

解决办法(Apache):进行url重写 --- 将Vue项目所在服务器文件夹下的路径,例如:

leibo.group/pcMall/.... 重写为 leibo.group/pcMall/index.html

Vue 项目部署到服务器的问题解决方法

.hatccess

具体的Apache开启allowoverride ,url重写,后端分分钟就解决了

如果是其他类型服务器

请自行参考https://router.vuejs.org/zh-cn/essentials/history-mode.html

总结:在单页面部署服务器中,其实更多的是思想的改变,利用前端路由来控制用户界面内容的变更,以上就是笔者在项目部署服务器中的一些经验,如果有什么阐述的不当的地方,还望指出!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js实现的自定义的对话框的实现代码
Mar 21 Javascript
加速IE的Javascript document输出的方法
Dec 02 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
用js实现控件的隐藏及style.visibility的使用
Jun 14 Javascript
Js实现无刷新删除内容
Apr 29 Javascript
JS实现的竖向折叠菜单代码
Oct 21 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
遍历json获得数据的几种方法小结
Jan 21 Javascript
解决element UI 自定义传参的问题
Aug 22 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
Sep 18 Javascript
vue 实现滚动到底部翻页效果(pc端)
Jul 31 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
Apr 29 Javascript
webpack学习教程之前端性能优化总结
Dec 05 #Javascript
vue实现消息的无缝滚动效果的示例代码
Dec 05 #Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 #Javascript
JS实现的计数排序与基数排序算法示例
Dec 04 #Javascript
JS 中document.write()的用法和清空的原因浅析
Dec 04 #Javascript
JavaScript实现省市联动过程中bug的解决方法
Dec 04 #Javascript
浅谈 vue 中的 watcher
Dec 04 #Javascript
You might like
一个高ai的分页函数和一个url函数
2006/10/09 PHP
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
Python读写Excel文件的实例
2013/11/01 Python
Python中的面向对象编程详解(上)
2015/04/13 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
Python对切片命名的实现方法
2018/10/16 Python
python中使用while循环的实例
2019/08/05 Python
Python collections模块使用方法详解
2019/08/28 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
考试退步检讨书
2014/01/15 职场文书
个人公开承诺书
2014/03/28 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
Nginx HTTP跳转至HTTPS
2022/05/15 Servers