濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > apache下面二級(jí)目錄部署react/vue的方法

apache下面二級(jí)目錄部署react/vue的方法

熱門標(biāo)簽:昆明外呼系統(tǒng) 福州呼叫中心外呼系統(tǒng)哪家好 七大洲地圖標(biāo)注 河南省鄭州市地圖標(biāo)注 臨汾電銷機(jī)器人費(fèi)用 新鄉(xiāng)人工智能電話機(jī)器人加盟 地圖標(biāo)注w是什么方向 地圖標(biāo)注需要提交啥資料入駐 400電話申請(qǐng)找哪家公司

本文主要是記錄一下在apache二級(jí)目錄上面部署react和vue項(xiàng)目。根目錄下面部署很簡單,但是在二級(jí)目錄下就需要在webpack的配置或者vue-cli的配置文件以及路由組件做一些簡單調(diào)整。由于mac系統(tǒng)自己帶了apache,所以我們只需要開啟就可以了。

配置apache

在終端中輸入sudo apachectl start,然后在瀏覽器中輸入"http://localhost",如果出現(xiàn)"It works!"則說明apache啟動(dòng)成功。

由于mac系統(tǒng)在當(dāng)前用戶目錄下面已經(jīng)有一個(gè)Sites目錄,專門用來存放站點(diǎn)的文件,這里只需要在里面建目錄就可以了,這里有兩個(gè)項(xiàng)目,一個(gè)為react項(xiàng)目,另一個(gè)為vue項(xiàng)目,目錄如下:

|- Sites
| - react # react項(xiàng)目build后的目錄
| - vue # vue項(xiàng)目build后的目錄

在終端中進(jìn)入目錄/etc/apache2,如果是第一次配置apache,一定要把"httpd.conf"文件和目錄"extra"作個(gè)備份。接下就是編輯"httpd.conf"文件,可以選擇把整個(gè)"apache2"目錄拖到文本編輯中進(jìn)行修改,也可以使用vim來編輯,記得使用root權(quán)限。

在配置文件中找到#ServerName localhost:80去掉"#"號(hào),然后找到#LoadModule rewrite_module libexec/apache2/mod_rewrite.so同樣去掉"#"號(hào),然后在httpd.conf同級(jí)目錄新建一個(gè)目錄users來放置自己的配置文件,這里需要在apace配置中添加Include /private/etc/apache2/users/*.conf來加載自己的配置。

在users目錄中新建一個(gè)文件,這里取名叫www.example.conf。在里面添加內(nèi)容:

<VirtualHost *:80>
 DocumentRoot /Users/你的用戶名/Sites/
 <Directory "/Users/你的用戶名/Sites/">
 Options Indexes FollowSymLinks
 AllowOverride All
 Order allow,deny
 Allow from all
 Require all granted
 </Directory>
</VirtualHost>

上面配置中的東西我就不作解釋了,因?yàn)槲乙膊皇呛芮宄?。需要清楚的?code>DocumentRootxxx和<Directory "xxx">均指向你的網(wǎng)站部署所在目錄。

配置好了記得重啟apache,我這里是使用命令sudo apachectl -k restart。

配置Vue

項(xiàng)目是通過vue-cli 3.x生成的,在根目錄新建配置文件"vue.config.js",然后添加以下內(nèi)容:

// vue.config.js

module.exports = {
 baseUrl: process.env.NODE_ENV === 'production' ? '/vue' : '/',
 outputDir: 'build',
};

這里把outputDir改成"build"是為了和react保持一致。然后找到"router.js"文件,添加一個(gè)base配置。

注意: 怎么把vue項(xiàng)目部署在二級(jí)目錄,官網(wǎng)文檔是有說明的。

export default new Router({
 mode: 'history',
 base: process.env.BASE_URL,
 routes: [
 {
  path: '/',
  name: 'home',
  component: Home
 }
 })

最后我們還需要在public目錄中添加一個(gè).htaccess文件來配置將所有的請(qǐng)求轉(zhuǎn)發(fā)到靜態(tài)文件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這邊的準(zhǔn)備工作就ok了。

配置React

React項(xiàng)目是通過create-react-app創(chuàng)建的,這里只需要在package.json中添加"homepage": ".",這里的homepage值也可以指定一個(gè)具體的域名,比如"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]

運(yùn)行結(jié)果

在瀏覽器中打開地址http://localhost/react即可查看react項(xiàng)目,http://localhost/vue來查看vue項(xiàng)目。本人電腦上親測是沒有問題的,訪問路由http://localhost/vue/about都o(jì)k的。這里只是一個(gè)簡單的記錄,沒有做過多的說明。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:鎮(zhèn)江 ???/a> 紅河 股票 岳陽 臨沂 四川 烏海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《apache下面二級(jí)目錄部署react/vue的方法》,本文關(guān)鍵詞  apache,下面,二級(jí),目錄,部署,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《apache下面二級(jí)目錄部署react/vue的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于apache下面二級(jí)目錄部署react/vue的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    丰都县| 耒阳市| 平顶山市| 尼玛县| 涪陵区| 洱源县| 三亚市| 天等县| 通山县| 大港区| 清水县| 延吉市| 黄大仙区| 彭泽县| 犍为县| 台中市| 杭州市| 凤庆县| 太谷县| 彭州市| 山阳县| 镇宁| 凉城县| 上杭县| 麻江县| 大同市| 湄潭县| 宾川县| 札达县| 四平市| 长治县| 万全县| 雷州市| 宾阳县| 隆昌县| 内江市| 凌源市| 中山市| 阳泉市| 安仁县| 交城县|