Vue.js + History Mode + Nginx的應用實踐

一、 Vue.js

Vue.js是一款輕量級MVVM框架,是目前國內外最受歡迎的前端框架之一。Vue.js具有簡單易學、易使用、靈活、高效等特點。

Vue.js官方提供了vue-cli腳手架工具能夠快速搭建起前端項目的基礎架構。其中最主要的特點就是:高效、快捷、可擴展、高度集成化等。

二、History Mode

Vue.js提供了一個後端路由模式——Hash模式來路由跳轉,它使用錨點( # )作為路由切換的標記。但是在實際應用開發當中,需要實現美觀、友好的路由結構,因此就需要使用前端路由模式——History模式。

History模式實際上是通過HTML5的history.pushState()和history.replaceState()方法來完成URL地址的變化,即整個URL地址呈現為一種真實的URL地址模式。在使用History模式的時候,需要使用後端配置進行支持,我們可以使用Nginx作為我們的HTTP服務器進行部署。

三、Nginx

Nginx是一款高性能的HTTP服務,同時也可以作為反向代理服務器、郵件服務器等。特殊是在高並發情況下,Nginx是非常適合作為負載均衡服務器。

我們可以通過Nginx來解決使用History模式下的路由問題。


location / {
    try_files $uri $uri/ /index.html;
}

在Nginx配置文件中加入以上代碼,即可實現在History模式下路由的正確展示。

四、應用實踐

接下來,我們來實際操作一下Vue.js + History Mode + Nginx的應用實踐。

我們可以通過vue-cli腳手架來快速進行項目的創建和配置。


# 全局安裝 vue-cli
npm install -g vue-cli

# 初始化一個基於 webpack 模板的新項目
vue init webpack my-project

# 安裝項目依賴,走你
cd my-project
npm install
npm run dev

其中需要在Vue.js的router.js文件中進行配置,示例代碼如下:


import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router);

// 定義路由
const routes = [
  {
    path: '/',
    name: 'Home',
    component: () => import('@/views/Home'),
  },
  {
    path: '/about',
    name: 'About',
    component: () => import('@/views/About'),
  },
];

const router = new Router({
  mode: 'history',
  // 注意這裡的 base 可以配置為你項目的子路由如 /blog/
  base: process.env.BASE_URL,
  routes,
});

export default router;

以上代碼即定義了兩個路由,一個是Home,一個是About。然後我們通過實例化Router,然後exports出去以供使用。

其次,我們需要在Nginx配置文件中配置,示例代碼如下:


upstream vueDemo {
    server 127.0.0.1:8080;
}

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location / {
        proxy_pass http://vueDemo;
        index  index.html index.htm;
        # 根據Vue.js的History Mode配置來發現文件
        try_files $uri $uri/ /index.html;
    }
}

以上代碼即是Nginx進行配置的主要部分。主要是通過upstream來配置反向代理的服務,同時location /中,通過try_files來實現使用Vue.js的History Mode配置來發現文件,實現路由的正常跳轉。

最後,我們在控制台中運行以下代碼:


# 安裝Nginx
sudo apt-get update
sudo apt-get install nginx

# 啟動Nginx
sudo service nginx start

以上代碼即安裝了Nginx,並將其啟動起來。

五、總結

通過以上Vue.js + History Mode + Nginx的應用實踐,我們了解到了Vue.js、History模式的基本實現和Nginx反向代理的配置方法。在實際開發中,我們可以根據需要進行二次開發,以滿足我們的業務需求。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/159274.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-19 18:58
下一篇 2024-11-19 18:58

相關推薦

發表回復

登錄後才能評論