国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > Nginx > 正文

在nginx上部署vue項(xiàng)目(history模式)的方法

2024-08-30 12:22:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
vue-router 默認(rèn)是hash模式,使用url的hash來(lái)模擬一個(gè)完整的url,當(dāng)url改變的時(shí)候,頁(yè)面不會(huì)重新加載。這篇文章主要介紹了在nginx上部署vue項(xiàng)目(history模式),需要的朋友可以參考下

vue-router 默認(rèn)是hash模式,使用url的hash來(lái)模擬一個(gè)完整的url,當(dāng)url改變的時(shí)候,頁(yè)面不會(huì)重新加載。但是如果我們不想hash這種以#號(hào)結(jié)尾的路徑時(shí)候的話,我們可以使用路由的history的模式。比如如下網(wǎng)址:

使用hash模式的話,那么訪問變成 http://localhost:8080/bank/page/count/#/ 這樣的訪問,如果路由使用 history的話,那么訪問的路徑變成 如下:

http://localhost:8080/bank/page/count 這樣的了;

在路由的配置就是如下:我們還是以 vue-cli項(xiàng)目為例:

在src/router/index.js 代碼如下:

import Vue from 'vue';import Router from 'vue-router';// import HelloWorld from '@/views/HelloWorld';

Vue.use(Router);

const router = new Router({ mode: 'history', // 訪問路徑不帶井號(hào) 需要使用 history模式 base: '/bank/page', // 基礎(chǔ)路徑 routes: [  {   path: '/count',   name: 'count',   component: resolve => require(['@/views/count'], resolve) // 使用懶加載  } ]});

不過(guò)history的這種模式需要后臺(tái)配置支持。比如:

當(dāng)我們進(jìn)行項(xiàng)目的主頁(yè)的時(shí)候,一切正常,可以訪問,但是當(dāng)我們刷新頁(yè)面或者直接訪問路徑的時(shí)候就會(huì)返回404,那是因?yàn)樵趆istory模式下,只是動(dòng)態(tài)的通過(guò)js操作window.history來(lái)改變?yōu)g覽器地址欄里的路徑,并沒有發(fā)起http請(qǐng)求,但是當(dāng)我直接在瀏覽器里輸入這個(gè)地址的時(shí)候,就一定要對(duì)服務(wù)器發(fā)起http請(qǐng)求,但是這個(gè)目標(biāo)在服務(wù)器上又不存在,所以會(huì)返回404,怎么解決呢?我們現(xiàn)在可以把所有請(qǐng)求都轉(zhuǎn)發(fā)到 http://localhost:8080/bank/page/index.html上就可以了。

一: apache服務(wù)器上的配置如下:

1. 如果我們現(xiàn)在是使用apache做web服務(wù)器的話,我們需要開啟 .htaccess支持即可:

在文件里加上如下,就一切正常了

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

上面的apache的作用是:把所有服務(wù)器上不存在的請(qǐng)求全部轉(zhuǎn)發(fā)到 index.html上去,這樣就可以直接通過(guò)各種url來(lái)訪問了。

注意:

1. RewriteRule . /bank/page/index.html [L] 這段代碼;前面需要加 /bank/page/這樣的,因?yàn)槲以诼酚膳渲胋ase里面

加了 /bank/page/ 這個(gè)路徑,否則匹配不到了。

2. vue-cli 項(xiàng)目中需要修改 config/index.js 中的build下的 assetsPublicPath: '/bank/page/', 如果使用相對(duì)路徑,

chunk文件會(huì)報(bào)錯(cuò)找不到。

3. 在apache的 www/bank/page 目錄下新建 .htaccess文件,需要修改RewriteRule 為/bank/page/index.html, 否則刷新頁(yè)面服務(wù)端會(huì)直接報(bào)404錯(cuò)誤。

4. 修改httpd.conf文件,開啟rewrite_module功能。

5. LoadModule rewrite_module libexec/apache2/mod_rewrite.so,去掉前面的#

6. 然后找到AllowOverride None的那行,把它改成AllowOverride All,來(lái)使.htaccess文件生效。

二:nginx服務(wù)器上的配置如下:

vue-cli 執(zhí)行打包命令:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延寿县| 正安县| 武夷山市| 田东县| 西宁市| 安化县| 青阳县| 云浮市| 宁津县| 荔波县| 秭归县| 祁东县| 莲花县| 武功县| 临朐县| 谢通门县| 枝江市| 兴义市| 八宿县| 丹凤县| 华坪县| 随州市| 柘城县| 昌图县| 阜平县| 桂林市| 双城市| 上思县| 五家渠市| 南华县| 澎湖县| 隆回县| 宜宾县| 友谊县| 翁源县| 军事| 古蔺县| 庆云县| 穆棱市| 宜兰县| 鹤庆县|