博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue项目打包部署到apache服务器
阅读量:6192 次
发布时间:2019-06-21

本文共 994 字,大约阅读时间需要 3 分钟。

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

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

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

 

 

遇到的问题:

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

解决方法:

config中的index.jsbuild下修改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模式。

解决方法:

把所有的请求全部转发到上就可以了

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

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

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

 

 

如有错误,请多指教,谢谢!

转载于:https://www.cnblogs.com/ykCoder/p/11022572.html

你可能感兴趣的文章
都是 HBase 上的 SQL 引擎,Kylin 和 Phoenix 有什么不同?
查看>>
zookeepr集群环境搭建
查看>>
java.util.concurrent.CountDownLatch用方法
查看>>
linux中时间设置date、hwclock、clock
查看>>
jenkins 安装
查看>>
vim 入门
查看>>
从外形如何分辨iTouch是几代的?
查看>>
excel之两个sheet对比
查看>>
Kubernetes 中的服务发现与负载均衡
查看>>
windows系统使用技巧
查看>>
Python之多线程爬虫抓取网页图片
查看>>
论学好Linux系统的超级重要性
查看>>
什么是Code Review(转)
查看>>
Linux下安装Nginx详细图解教程
查看>>
Java高级部分笔记-------泛型
查看>>
SpringBoot 整合Mybatis
查看>>
初学Android
查看>>
日志管理
查看>>
SCCM 2016 + SQL 2016 + Win 2012 R2 安装教程
查看>>
我的友情链接
查看>>