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 18 Vue.js
用vue设计一个日历表
Dec 03 Vue.js
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
vue使用element-ui实现表单验证
Dec 13 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
深入了解Vue动态组件和异步组件
Jan 26 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
Vue如何实现变量表达式选择器
Feb 18 Vue.js
vue backtop组件的实现完整代码
Apr 07 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
vue实现登陆页面开发实践
May 30 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
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php查找字符串出现次数的方法
2014/12/01 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
Python jieba库分词模式实例用法
2021/01/13 Python
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
小学语文教学反思
2014/02/10 职场文书
车间主任岗位职责
2015/02/03 职场文书
刑事附带民事代理词
2015/05/25 职场文书
航班延误投诉信
2015/07/02 职场文书