apache下面二级目录部署react/vue的方法
作者:jenemy 发布时间:2023-08-05 00:08:22
本文主要是记录一下在apache二级目录上面部署react和vue项目。根目录下面部署很简单,但是在二级目录下就需要在webpack的配置或者vue-cli的配置文件以及路由组件做一些简单调整。由于mac系统自己带了apache,所以我们只需要开启就可以了。
配置apache
在终端中输入sudo apachectl start,然后在浏览器中输入"http://localhost",如果出现"It works!"则说明apache启动成功。
由于mac系统在当前用户目录下面已经有一个Sites目录,专门用来存放站点的文件,这里只需要在里面建目录就可以了,这里有两个项目,一个为react项目,另一个为vue项目,目录如下:
|- Sites
| - react # react项目build后的目录
| - vue # vue项目build后的目录
在终端中进入目录/etc/apache2
,如果是第一次配置apache,一定要把"httpd.conf"文件和目录"extra"作个备份。接下就是编辑"httpd.conf"文件,可以选择把整个"apache2"目录拖到文本编辑中进行修改,也可以使用vim来编辑,记得使用root权限。
在配置文件中找到#ServerName localhost:80
去掉"#"号,然后找到#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
同样去掉"#"号,然后在httpd.conf
同级目录新建一个目录users来放置自己的配置文件,这里需要在apace配置中添加Include /private/etc/apache2/users/*.conf
来加载自己的配置。
在users目录中新建一个文件,这里取名叫www.example.conf。在里面添加内容:
<VirtualHost *:80>
DocumentRoot /Users/你的用户名/Sites/
<Directory "/Users/你的用户名/Sites/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
上面配置中的东西我就不作解释了,因为我也不是很清楚。需要清楚的是DocumentRootxxx
和<Directory "xxx">
均指向你的网站部署所在目录。
配置好了记得重启apache,我这里是使用命令sudo apachectl -k restart
。
配置Vue
项目是通过vue-cli 3.x生成的,在根目录新建配置文件"vue.config.js",然后添加以下内容:
// vue.config.js
module.exports = {
baseUrl: process.env.NODE_ENV === 'production' ? '/vue' : '/',
outputDir: 'build',
};
这里把outputDir
改成"build"是为了和react保持一致。然后找到"router.js"文件,添加一个base配置。
注意: 怎么把vue项目部署在二级目录,官网文档是有说明的。
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: '/',
name: 'home',
component: Home
}
})
最后我们还需要在public
目录中添加一个.htaccess
文件来配置将所有的请求转发到静态文件index.html
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt|svg|woff|ttf|eot)$
RewriteRule . /vue/index.html [L]
这样在vue这边的准备工作就ok了。
配置React
React项目是通过create-react-app创建的,这里只需要在package.json
中添加"homepage": ".",
这里的homepage
值也可以指定一个具体的域名,比如"homepage": http://www.example.com/react
。
然后是修改路由的basename
值。这里使用的是"react-router 4"。
import {BrowserRouter as Router} from 'react-router-dom';
function Routes() {
const isProd = process.env.REACT_APP_ENV === 'production';
return (
<Router basename={isProd ? '/react' : '/'}>
</Router>
)
}
然后public目录同样添加.htaccess文件
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt|svg|woff|ttf|eot)$
RewriteRule . index.html [L]
运行结果
在浏览器中打开地址http://localhost/react即可查看react项目,http://localhost/vue来查看vue项目。本人电脑上亲测是没有问题的,访问路由http://localhost/vue/about都ok的。这里只是一个简单的记录,没有做过多的说明。
来源:https://segmentfault.com/a/1190000016129289


猜你喜欢
- 今年的娱乐圈屡传喜讯,近日中国模特叶子金通过层层筛选最终斩获“2009环球皇后世界赛事中国皇后亚军”一奖,同时小编还从51wan寻找女一号组
- 1、创建新的FTP站点执行[开始]→[程序]→[管理工具]→[Internet服务器管理器]命令,打开“Internet信息服务”对话框。用
- 本教程为大家介绍 UCenter Home 1.5 的安装方法(以虚拟主机为例)。在安装 UCenter Home 1.5 之前,请确认在服
- 微软已经改变了DNS向内存装载区域数据的方式。有时候,DNS服务器装载存储在主动目录服务中的非常庞大的区域数据需要一个小时或者更多的时间。这
- 好几个站长朋友做资讯站就是网上下个CMS程序,然后复制粘贴。申请个域名就开始了他的网站之路,等待流量上来然后赚取广告费。如果这样就能成功。我
- 在使用dedecms5.6时发现如果在内容页面调用相关文章,简单的使用dedecms arclist不能够实现,但是arclist有一个字段
- 国内的英文站长们经常遇到要用国内中文版的cms或论坛、博客来搭建英文网站,可是很多程序由于是针对国内用户设计的,所以并没有官方的英文版,如e
- PR众所周知是我们做网站比较在意的东西。搜索蜘蛛也比较喜欢去PR值高的网站转悠。所以现在也有很多PR不高的网站去PR值高的网站去留一个自己网
- 目录Tomcat介绍tomcat部署创建web项目配置tomcat配置工程架构配置servletTomcat介绍Tomcat是Apache
- 2009年应届毕业生的各大校园招聘会近日拉开序幕,一个大学生求职论坛上的一篇题为“写给HR的一封信”
- 现在国内提供支持ASP的免费空间越来越多了,对于ASP爱好者来说无疑是个好的势头,但是很多提供免费ASP空间的站点都没有对Fil
- 所谓双线,它是为了解决国内南北方电信和网通用户互联互通的问题特推出的智能双线主机服务。是指同一台服务器同时拥有电信网络和网通网络二条线路.通
- 明天就是教师节,在此,我再为大家讲解如何利用教师节进行网站推广。首先,我们来分析一下教师节的特点。教师节虽然从意义上来讲是教师的节日,但对于
- 1、独立的标题尽量为每个页面写上独立的标题,特别是一些产品页栏目页等,标题是SEO中很重要的一部分,不要轻易浪费掉这块宝地。好的标题不仅对搜
- 其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。本文更侧
- 其实学生站长是幸福的,因为你们没有经济的强大压力。其实学生站长前途是光明的,因为你们有的是青春年华。其实学生站长是充满活力的,因为新点子,新
- 前言给大家分享以下我是如何部署 SpringBoot + Vue 前后端分离的项目的,我用的 Linux 发行版是 CentOS7.5有了一
- 第一站 Apache的历史与前景 1995年,美国国家计算机安全协会(NCSA)的开发者创建了NCSZ全球网络服务软件,其最大的特点是HTT
- google和金山词霸合作了。看重的是金山词霸3kw的用户。google表示这三千万的用户,可以直接成为google的搜索用户。他们认为这个
- 转自Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.