vue项目打包后想发布在apache www/vue 目录下

vue项目打包后想发布在apache www/vue 目录下

使用的是vue-element-admin做示例,可以参考Vue项目根据不同运行环境打包项目,其他项目应该大同小异。

使用vue-router的browserHistory模式,配置mode: 'history', 有更好的体验。

目的: 想将项目打包后发布到apache的www下的vue子目录

先讲结论:

  1. 需要修改router/index.jsnew Router 配置,加一个base: '/vue/', 它指定应用的基路径,该应用是服务于localhost/vue路径下,所以必须加base配置,否则应用会展示404页面
  2. 需要修改config/index.js中build下的assetsPublicPath: '/vue/',如果用相对路径,chunk文件会报错找不到。
  3. 修改httpd.conf文件,开启rewrite_module功能。

    • LoadModule rewrite_module libexec/apache2/mod_rewrite.so,去掉前面的#。
    • 然后找到AllowOverride None的那行,把它改成AllowOverride All,来使.htaccess文件生效。
  4. 在apache 的www/vue 目录下新建.htaccess文件, 需要修改RewriteRule 为/vue/index.html, 否则刷新页面服务端会直接报404错误。

.htaccess文件内容


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

放到www根目录,或更深的目录,只需要对应的修改即可。第一点比较重要,参考项目的文档上也没有说明,加上不够细致,对新手还是有门槛的。

希望这篇文档帮助更多人。。。

原文地址:https://segmentfault.com/a/1190000012548105

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值