Vue项目打包部署到apache服务器的方法步骤


Posted in Vue.js onFebruary 01, 2021

vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器。

但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进行打包,打包后会在项目目录下生成一个dist文件夹,内容如下:

Vue项目打包部署到apache服务器的方法步骤

然后就是把这些文件丢到服务器上的某个文件夹下,我这里的文件夹名字是ibms

Vue项目打包部署到apache服务器的方法步骤

遇到的问题:

1. 直接去访问http://www.xxx.com/ibms/,会发现网页是白屏的,什么都没有,这就比较奇怪了,其实是因为资源加载的路径有问题!

解决方法:

在config中的index.js里build下修改webpack配置:

assetsPublicPath: '/ibms/'

在router中的index.js配置中加上:

export default new Router({
 mode: 'history',
 scrollBehavior: () => ({ y: 0 }),
 base: '/ibms/', // 加上这一行
 routes: constantRouterMap
})

接下来再重新npm run build打包,然后丢到服务器上ibms文件夹下,这时页面就可以正常访问了。

2. 在当前页面刷新或者用url栏访问某个子页面,结果发现网页404了,这是因为vue路由的mode是history模式。

解决方法:

把所有的请求全部转发到http://www.xxx.com/ibms/index.html上就可以了

我这里用的是apache做的web服务器,在ibms目录下新建.htaccess文件(跟index.html同级),编辑代码。

Vue项目打包部署到apache服务器的方法步骤

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /ibms/
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /ibms/index.html [L]
</IfModule>

这个配置的作用就是把所有服务器上不存在请求全部转发到index.html上去。(PS:记得要重启apache服务器哦)

到此这篇关于Vue项目打包部署到apache服务器的方法步骤的文章就介绍到这了,更多相关Vue项目打包部署到apache内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
用vue设计一个日历表
Dec 03 Vue.js
vue中使用echarts的示例
Jan 03 Vue.js
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
vue3.0 自适应不同分辨率电脑的操作
Feb 06 Vue.js
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
Feb 23 Vue.js
VUE实现吸底按钮
Mar 04 Vue.js
详解Vue的sync修饰符
May 15 Vue.js
Vue和Flask通信的实现
May 19 Vue.js
Vue-Element-Admin集成自己的接口实现登录跳转
Jun 23 Vue.js
如何优化vue打包文件过大
Apr 13 Vue.js
vue3语法糖内的defineProps及defineEmits
Apr 14 Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 #Vue.js
Vue 实现可视化拖拽页面编辑器
Feb 01 #Vue.js
vue-video-player 断点续播的实现
Feb 01 #Vue.js
Vite和Vue CLI的优劣
Jan 30 #Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 #Vue.js
vue监听键盘事件的相关总结
Jan 29 #Vue.js
Vue 实例中使用$refs的注意事项
Jan 29 #Vue.js
You might like
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php URL编码解码函数代码
2009/03/10 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
浅谈json_encode用法
2015/03/05 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
对于Python深浅拷贝的理解
2019/07/29 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
高分子材料个人求职信范文
2013/09/25 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
世博会口号
2014/06/20 职场文书
海洋科学专业求职信
2014/08/10 职场文书
结对共建协议书
2014/08/20 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
基于Redission的分布式锁实战
2022/08/14 Redis