當前位置:首頁 » 網頁前端 » 前端全家桶
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端全家桶

發布時間: 2023-02-24 16:19:46

❶ web前端培訓有哪些課程

您好,web前端培訓課程包括以下8個階段:
階段1.前端核心基礎
HTML +_CSS核心、JavaScript基礎語法、JavaScript面向對象、JavaScript DOM和BOM編程、jQuery框架

階段2.HTML5 + CSS3 + 移動端核心
HTML5新特性、Canvas專列、CSS3新特性、CSS3進階、CSS3實例演練

階段3.移動端
移動端核心、移動端適配、移動端特效

階段4.伺服器端
伺服器端開發、資料庫操作、前後端交互核心、微信公眾號開發

階段5.JavaScript高級
JavaScript基礎深入剖析、JavaScript面向對象深入講解、JavaScript非同步編程、JavaScript函數式編程、JavaScript設計模式

階段6.前端必備
性能優化、版本控制工具、模塊化、項目構建工具

階段7.高級框架
React框架基本使用、React框架進階、Vue框架基本使用、Vue框架進階、Vue源碼分析

階段8.小程序
原生小程序入門、原生小程序API使用、小程序框架Mpvue

❷ Web前端開發的難點和重要性有哪些

第一,平台、瀏覽器生態復雜,要考慮的場景太多,不同平台上實現同一界面功能的重復勞動嚴重,這個難點在於如何消除前端開發的重復勞動。
第二,當需求發生變化的時候,最先往往就是前端,而很多需求變化和後端無關,單純就是前端的改變。這些需求改變有的是不合理的,但是,客觀來說,也有不少是有必要的需求改變,用戶的喜好會變化,用戶的喜好我們也要反復揣摩,也就是要適應需求變化,所以,難點就成了如何讓前端開發適應快速變化的需求。
第三,前端的學習曲線其實挺陡,很多後端開發者以為前端只是玩一玩HTML,到了自己上手的時候發現其實要學很多。

❸ 成為前端工程師需要學習哪些內容可以自學嗎

如果你的自學能力強的話可以自學,如果自我約束能力和自學能力一般建議找個培訓機構。

自學的話給以下幾點建議:

1、Web前端工程師是協調前端工程師、後端程序員實現網站頁面活程序的界面美化、交互體驗的IT技術開發人員;

2、需要精通HTML、CSS、JavaScript、jQuery、Ajax等核心的Web前端技術,具備互聯網交互設計能力;(HTML:不是編程語言,僅僅是數據格式;CSS:無類型的樣式修飾語言,算弱類型語言,需理解每個元素屬性、樣式等;JavaScript:學習起來相對來說不算太難,入手快;jQuery、Ajax:如果想在前端這塊混的好,一定要掌握,雖然不一定要用,但一定要會。)

3、熟悉Vue、React、angularjs 等最新的框架。

選擇培訓機構的話主要注意以下幾個點:

1. 看培訓機構是注重理論學習還是項目實戰演練,實戰的項目 是虛擬項目,還是真實的項目。
2. 老師是不是經驗豐富的程序員,這點很重要。經驗豐富的程 序員比只會理論知識沒有實戰經驗的老師要更有價值,你從 他身上更多的是學習項目經驗,這個的價值很大。
3. 學習過程中是不是可以隨時退費
4. 是不是推薦就業
5. 學習環境和氛圍
6.小班教學優於大班教學

❹ 你最喜歡用哪款前端開發工具為什麼

前端開發最爽的地方就在於,一個編輯器,一個瀏覽器就足矣走天下。

編輯器——VSCode

前端開發利器,超級好用的編輯器,對於大前端來說更是不可多得。由微軟出品,跨平台支持,顏值高,易上手,豐富的插件支持。下面推薦幾個前端常用插件。

調試工具: 前端性能優化工具:

Yellow Lab Tools :一款Web性能及前端質量測試工具。與其他工具不同的是,它有一些在其他工具上無法看到的獨特功能,例如頁面載入時 JavaScript 與 DOM 互動和其他程序代碼驗證問題。

DOM monster :你只需要添加到你的瀏覽器書簽中,在任何需要調試的頁面點擊這個書簽,它就能夠幫助你列出目前頁面出現的性能問題。

前端開發是目前一個非常火的行業,就業前景和薪資水平都非常不錯,至於開發工具的話,那就非常多了,大部分代碼編輯器、IDE環境都支持,下面我簡單介紹4個非常不錯的前端開發工具,感興趣的朋友可以嘗試一下:

01 代碼編輯器

這是目前前端開發一個非常流行的開發工具,在業界非常受歡迎,免費、開源、跨平台,由微軟自主研發,可以說是良心產品,常見的智能補全、代碼高亮、語法提示等功能這個軟體都能很好支持,除此之外,插件擴展非常豐富,可以很好的進行代碼編輯和調試,輕巧靈活,運行速度快,對於前端開發來說,是一個非常不錯的選擇:

這也是一個比較輕巧靈活的代碼編輯器,文本編輯功能強大,完美支持3大操作平台,但原則上不免費,和VS Code類似,Sublime Text也支持自動補全、語法提示、代碼高亮等常見功能,除此之外,針對前段開發也提供了非常多的插件,不管是編輯還是調試代碼來說,都非常方便,對於前端開發來說,也是一個不錯的選擇:

02 IDE環境

這是一個純粹的國產Web IDE開發工具,目前在前端開發中也有著較高的使用率,常見的自動補全、代碼高亮、語法提示、錯誤檢查等功能這個軟體都能很好兼容,除此之外,界面柔綠、清爽護眼,針對Vue專門打造了插件擴展,可以很好的提高開發效率,還支持安卓、iOS打包,對於前端開發來說,也是一個非常不錯的工具:

這是一個非常專業的Web IDE開發工具,Jetbrains公司的產品,被譽為「Web前端開發神器」、「最智能的JavaScript IDE」,除了基本的智能補全、代碼高亮、語法提示等常見功能,這個軟體還支持代碼分析與重構、 聯想查詢、 單元測試等高級功能,因此在開發效率上更高,也更適合大型項目,對於多人協作的前端開發來說,是一個非常不錯的選擇:

WebStorm

和idea同屬於jetbrains公司開發的,它是旗下一款JavaScript開發工具,被廣大中國JS開發者譽為「Web前端開發神器」、「最強大的HTML5編輯器」、「最智能的JavaScript IDE」等。

早起作為一個插件可以集成與Eclipse中來開發前端,現在已經獨立出來,也是我最早接觸js所使用的一款開發工具,如果熟悉了Eclipse快捷鍵的童鞋可以快速上手。


一款代碼編輯器,藉助豐富的插件資源,可以擴展成強大的前端開發工具,和IDE相比,屬於一款輕量級的,啟動特別快。


Atom

作為開源老大哥GitHub出的一款代碼編輯器,和上面那個比較而言,插件略少,但和GitHub無縫結合,尤其是markdown編寫,界面也很漂亮。

TextMate是Mac下的著名的文本編輯器軟體,與BBedit一起並稱蘋果機上的emacs和vim。尤其適合程序員使用,可以定製許多貼心使用的功能。



Emacs即Editor MACroS(宏編輯器),是一種強大的文本編輯器。Emacs使用了Emacs Lisp這種有著極強擴展性的編程語言(它的核心是一個Emacs Lisp解釋器),並實現了文本編輯支持等的擴展。

Notepad++是 Windows操作系統下的一套文本編輯器(軟體版權許可證: GPL),有完整的中文化介面及支持多國語言編寫的功能(UTF8 技術)。

VSC-VSCode

輕量快速,高顏值,社區開源,豐富擴展,微軟支持

還有超好用的遠程開發(vscode remote)和協作(live share)支持

HTML通常會和JavaScript、CSS同時出現。三者均是前端開發最常用到的。目前最常用到的HTML其實就是HTML5。常用的前端編程軟體有HBuilder、Sublime Text等等。

HBuilder是一款免費的國產前端開發工具,編者用的就是HBuilder,對於小白和英語不太好的前端開發者這是一款難得的IDE。對代碼自動補全方面簡直是強大到沒朋友。強力推薦。

Sublime Text是一個輕量級的編輯器,不端支持前端的html,js,css。還支持覺得多數的後端語言,比如C語言、java、python等。sublime text的強大之處是支持各種插件而且快捷鍵非常好用,可以極大的提高開發效率。缺點是代碼提示方面不如Hbuilder。

很高興能回答你的問題,作為一個後端開發,也曾經開發過前端,也用過很多前端開發工具。

1.sublime text用著確實不錯,但是代碼開發提示不強,平時用著文本編輯器還是可以的。

2.hbuild+用了一段時間各種不適用,最後就卸載了。

3.vs code用著一段時間寫vue,需要安裝插件,而且提交代碼用感覺不方便,把不想提交的最後提交了,導致代碼沖突,也許是因為自己用不熟。

4.webstorm 推薦使用,代碼智能提示,而且提交代碼方便。

無論是Python、Java、javascript,當我們選擇一款開發工具時,很多人都會首先想到jetbrain全家桶,Webstorm、IDEA、Pycharm....不得不說,jetbrain在開發工具方面真的是頗有心得、爐火純青。

但是,如果做前端開發,我認為除了jetbrain的webstorm,還有很多選擇,而其中我最為推薦的當屬VS Code,下面就來介紹一下。

VS Code

微軟在開發工具領域已經有了多年積淀,而VS Code有時微軟結合了visual studio和其他開發工具,不斷改進、優化推出的一款免費開發工具。

可以說VS Code是當下最為熱門的開發工具之一,對比於eclipse、IDEA這些老牌開發工具,微軟對於VS Code的改變更為大膽創新,已經處於領頭羊的地位。每年微軟開發者大會,都會對 VS Code進行大幅度的創新,經過多年的優化,VS Code已經讓很多開發者愛不釋手。

首先說一下它幾個為人熟知的優點,

首先說一下輕量化,我覺得僅憑這一點,就足以讓jetbrain全家桶汗顏。無論是webstorm、還是IDEA,最令人痛苦的就是打開過程,臃腫、漫長,載入工程項目和配置項需要多大幾分鍾,令人無法忍受。而VS Code則不同,它更像一個編輯器,能夠秒級打開,速度堪比UE、notepad++這些文本編輯器。

其次說一下豐富插件,豐富的插件造就了VS Code完整的生態,「你想要的,這里都有」,無論是標簽樣式還是DEBUG或者功能增強,VS Code都有非常多熱門的插件,使得你的開發效率大大提升,當然,前端需要的那些優質插件這里都有。

其實,讓我轉向VS Code並非上述這兩點,而是 遠程開發 。

我覺得這是微軟大膽創新和引領者角色必然的產物,讓很多其他開發工具很難望其項背。

有了VS Code遠程開發功能,我們可以實時同步本地和伺服器代碼,不需要再去復雜的配置遠程伺服器,對於項目管理也非常方便。

WebStorm和PS

尤其PS,平時生活中也需要用到,挺方便的

喜歡用webstorm,atom和vs code,sublimetext都裝了,幾乎只用webstorm,atom界面是漂亮,也是我第一個下載安裝的,裝了各種插件,那時初學,感覺提示不全,還有就是插件安裝了幾個後開機明顯變好慢,無奈下了webstorm,感覺很爽

Google PageSpeed Insights 可以為網站生成性能報告,它在移動設備和桌面設備上都是免費的。並且還給出了影響頁面載入速度的原因,並為這些問題提供了解決方案。網站速度按照 100 分進行劃分,其中:

2. Pingdom Website Speed Test

Pingdom Website Speed Test 可以全面分析影響頁面Web速度的因素。此外,還可以查看網站在亞洲、歐洲等多個不同的地理位置的性能信息。

3. WebPagetest

WebPagetest是 AOL 開發的一款在線的免費性能評測網站,從全球多個地點運行免費網站速度測試。可以運行簡單的測試或執行高級測試,包括多步驟事務、視頻捕獲、內容阻塞等等。還將依據測試結果提供豐富的診斷信息,包括資源載入瀑布圖,頁面速度優化檢查和改進建議,會給每一項內容一個最終的評級。

4. GTmetrix

GTmetrix 是一個類似於 pingdom 的工具,可以快速輕松地測試網站速度。它主要有PageSpeed和YSlow兩部分組成,並提供相應的得分數據,能夠真實的反應出網站的性能,並且會提供可行性建議來幫助改善網站性能。

5. Keycdn Tool

Keycdn Tool 是一個在全球 10 不同地點的網站速度測試工具。它允許測試任何頁面的性能。返回的結果將提供請求、內容大小和載入時間等詳細信息。此外,還有一個完整的瀑布圖,詳細說明了每個資源的載入時間和 HTTP 頭。

6. GiftOfSpeed

GiftofSpeed是一款免費網站載入速度測試工具,可以在上面獲得網站綜合性能信息,它能夠展示網站載入時間以及評估網站有哪些需要改進的地方,並給予一個客觀的綜合評分。

GiftofSpeed 的測試結果以瀑布流展示,可以很容易看到網站載入速度,每一項資源的的載入順序、大小與響應時間的長短,方便了解網站的各項載入資源。此外,它還提供了載入時間最長的內部文件以及外部文件,從而分析出是由哪些因素影響了你網站的載入速度,就可以專門針對這些載入時間較長的元素進行優化,從而最大限度提升網站載入速度。

7. Pagelocity

Pagelocity 是一個網站分析性能測試工具。這個工具也提供了追蹤競爭對手的能力。代碼檢視圖在類似工具中是獨一無二的。如果想知道 TTFB 和圖形化 DOM 元素等,都能通過這項工具獲取到。

8. Sucuri Loadtime Tester

Sucuri Load Time Tester 是一個網站分析性能測試工具,它用不同的顏色表示網速快慢,可以很直觀地看出測試網站在不同國家的運行速度。綠色表示暢通,沒有顏色的普通數字表示一般,黃色表示中等偏慢,紅色表示緩慢。

9. GEEKFLARE

GEEKFLARE 這是一套免費的性能測試工具,用於測試網站的 DNS、安全性、性能、網路和 SEO 等問題。

10. Dareboost

DareBoost 是一個免費網站速度測試和網站分析工具。它提供超過 100 種不同的檢查項目用以分析你的網站的速度。可以測試桌面端與行動頁面、Firefox 與 Chrome 和五個節點的速度差異。

❺ 前端開發的難點到底在什麼地方

一般意義上的前端項目:

-從0到1,治理曬哦為健全點的都能搗鼓出來;

-從1到60,後後端或者設計崗位勉強能兼任;

-從60到80,需要比較專業的前端;

-從80到100,這么好的前端可遇不可求。

從0到1就是從無到有的過程,很多人用WordPress,建站之星就差不多就能搞個demo了,可以拿去騙投資人的錢。

從1到60,就是勉強可用,基本上讓後端工程師或者UI設計師找一套bootstrap的模板東拼西湊的也能勉強應付到第一版本上線。

從60到80,就是真正要做一款能完備、性能優良、架構合理的中小規模產品,沒有專業的設計、前端、後端、產品、運營是走不到這步的,差不多到A輪了。

從80到100,那就是追求各方面的極致,與競爭對手一較高下,各個方面沒有頂尖的人才都會影響整體的戰鬥力,木桶效應。

解釋一下:

1. 核心競爭力的主體是工程經驗。
其實這個結論可以推廣到其他研發崗位,就是每個研發崗位的知識體系都是由基礎學科知識+領域工程經驗構成,彼此不可替代的就是工程經驗部分。一個後端工程師一時間不能替代同等級前端工程師到不是基礎或者智商的問題,主要是工程經驗不足,你讓一個前端一個後端分別實現對方領域中一個有明確輸入輸出的功能函數,二者通過簡單學習新語言新語法,加上開發手冊查詢,一般都能比較正常的實現業務邏輯,但你讓他們hold住對方領域的完整項目就很困難了,技術選型,系統設計,模塊拆分,平台特性,宿主環境,性能優化,構建部署,系統測試等等都是領域工程經驗問題。

2. 工程經驗的等級是能cover項目從0發展到80+。
這個很好解釋,因為從0-60的非專業前端也能做到,60+的才是專業前端。

所以不用擔心核心競爭力問題,60+的前端現在都很搶手啊。工程經驗只有60-的話確實壓力比較大。

❻ 前端是啥呢

前端到底是什麼?

我們通俗一點的說,web前端就是我們可以直接查看的內容,包含用戶可以看到和體驗的一切,比如你瀏覽網站或使用 APP 的時候,各種各樣的頁面布局、圖片、按鈕、菜單、文字、視頻等等,而後端是程序中無法被用戶看到的這部分,進行數據交互及網站數據的保存和讀取,它包含著所有的邏輯功能支撐著前端。

前端和後端在項目開發過程中都起著至關重要的作用,它們就像同一個硬幣的兩面,都起著重要的作用。

前端開發涉及到的技能主要有:Html、CSS、JavaScript、Java或kotlin(Android開發)、Object-C或Swift(iOS開發;當然也有很多前端的開發框架:Vue、React、Angular 等等;

後端開發語言比較多,現在 Java 佔了大半壁江山,常用的框架或中間件諸如 Spring 全家桶、關系型資料庫 MySQL、Oracle等、非關系型資料庫 Redis、MongoDB、ES 等、消息中間件等等。

可以看到前端開發和後端開發的差別還是比較大的。

現在有一個非常流行的詞兒叫做「前後端分離」,也就是前端工程和後端代碼分開部署,前後端通過介面的方式進行連接,這樣前後端的開發人員在約定好介面之後,就可以並行開發,並且一套後端可以支持不同的前端,實現後端代碼的復用。

❼ Vue項目前後端分離下的前端鑒權方案

# Vue項目前後端分離下的前端鑒權方案

### 技術棧

  前端Vue全家桶,後台.net。

### 需求分析

  1. 前端路由鑒權,屏蔽地址欄入侵

  2. 路由數據由後台管理,前端只按固定規則非同步載入路由

  3. 許可權控制精確到每一個按鈕

  4. 自動更新token

  5. 同一個瀏覽器只能登錄一個賬號

### 前端方案

> 對於需求1、2、3,採用非同步載入路由方案

  1. 首先編寫vue全局路由守衛

  2. 排除登錄路由和無需鑒權路由

  3. 登錄後請求拉取用戶菜單數據

  4. 在vuex里處理菜單和路由匹配數據

  5. 將在vuex里處理好的路由數據通過`addRoutes`非同步推入路由

  ```

    router.beforeEach((to, from, next) => {

      // 判斷當前用戶是否已拉取許可權菜單

      if (store.state.sidebar.userRouter.length === 0) {

        // 無菜單時拉取

        getMenuRouter()

          .then(res => {

            let _menu = res.data.Data.ColumnDataList || [];

            // if (res.data.Data.ColumnDataList.length > 0) {

            // 整理菜單&路由數據

            store.commit("setMenuRouter", _menu);

            // 推入許可權路由列表

            router.addRoutes(store.state.sidebar.userRouter);

            next({...to, replace: true });

            // }

          })

          .catch(err => {

            // console.log(err);

            // Message.error("伺服器連接失敗");

          });

      } else {

        //當有用戶許可權的時候,說明所有可訪問路由已生成 如訪問沒許可權的菜單會自動進入404頁面

        if (to.path == "/login") {

          next({

            name: "index"

          });

        } else {

          next();

        }

      }

    } else {

      // 無登錄狀態時重定向至登錄 或可進入無需登錄狀態路徑

      if (to.path == "/login" || to.meta.auth === 0) {

        next();

      } else {

        next({

          path: "/login"

        });

      }

    }

  });

  ```

  ##### 注意

  > 我這里無需鑒權的路由直接寫在router文件夾下的index.js,通過路由元信息meta攜帶指定標識

  ```

    {

      path: "/err-404",

      name: "err404",

      meta: {

         authentication: false

      },

      component: resolve => require(["../views/error/404.vue"], resolve)

    },

  ```

  > 上面說到路由是根據後台返回菜單數據根據一定規則生成,因此一些不是菜單,又需要登錄狀態的路由,我寫在router文件夾下的router.js里,在上面步驟4里處理後台返回菜單數據時,和處理好的菜單路由數據合並一同通過`addRoutes`推入。 

  這樣做會有一定的被地址欄入侵的風險,但是筆者這里大多是不太重要的路由,如果你要求咳咳,可以定一份字典來和後台介面配合精確載入每一個路由。

  ```

  // 加入企業

  {

    path: "/join-company",

    name: "join-company",

    component: resolve => require([`@/views/index/join-company.vue`], resolve) 

  },

  ```

  > 在vuex中將分配的菜單數據轉化為前端可用的路由數據,我是這樣做的:

  管理系統在新增菜單時需要填寫一個頁面地址欄位`Url`,前端得到後台菜單數據後根據`Url`欄位來匹配路由載入的文件路徑,每個菜單一個文件夾的好處是:你可以在這里拆分js、css和此菜單私有組件等

  ```

      menu.forEach(item => {

            let routerItem = {

              path: item.Url,

              name: item.Id,

              meta: {

                auth: item.Children,

              }, // 路由元信息 定義路由時即可攜帶的參數,可用來管理每個路由的按鈕操作許可權

              component: resolve =>

                require([`@/views${item.Url}/index.vue`], resolve) // 路由映射真實視圖路徑

            };

            routerBox.push(routerItem);

        });

  ```

  > 關於如何精確控制每一個按鈕我是這樣做的,將按鈕編碼放在路由元信息里,在當前路由下匹配來控制頁面上的按鈕是否創建。

  菜單數據返回的都是多級結構,每個菜單下的子集就是當前菜單下的按鈕許可權碼數組,我把每個菜單下的按鈕放在此菜單的路由元信息`meta.auth`中。這樣作的好處是:按鈕許可權校驗只需匹配每個菜單路由元信息下的數據,這樣校驗池長度通常不會超過5個。

  ```

  created() {

    this.owner = this.$route.meta.auth.map(item => item.Code);

  }

  methods: {

      matchingOwner(auth) {

        return this.owner.some(item => item === auth);

      }

  }

  ```

  > 需求4自動更新token,就是簡單的時間判斷,並在請求頭添加欄位來通知後台更新token並在頭部返回,前端接受到帶token的請求就直接更新token

  ```

  // 在axios的請求攔截器中

      let token = getSession(auth_code);

      if (token) config.headers.auth = token;

      if (tokenIsExpire(token)) {

        // 判斷是否需要刷新jwt

        config.headers.refreshtoken = true;

      }

  // 在axios的響應攔截器中

    if (res.headers.auth) {

      setSession(auth_code, res.headers.auth);

    }

  ```

  > 對於需求5的處理比較麻煩,要跨tab頁只能通過`cookie`或`local`,筆者這里不允許使用`cookie`因此採用的`localstorage`。通過打開的新頁面讀取`localstorage`內的`token`數據來同步多個頁面的賬號信息。`token`使用的`jwt`並前端md5加密。

  這里需要注意一點是頁面切換要立即同步賬號信息。

  > 經過需求5改造後的全局路由守衛是這樣的:

  ```

function _AUTH_() {

  // 切換窗口時校驗賬號是否發生變化

  window.addEventListener("visibilitychange", function() {

    let Local_auth = getLocal(auth_code, true);

    let Session_auth = getSession(auth_code);

    if (document.hidden == false && Local_auth && Local_auth != Session_auth) {

      setSession(auth_code, Local_auth, true);

      router.go(0)

    }

  })

  router.beforeEach((to, from, next) => {

      // 判斷當前用戶是否已拉取許可權菜單

      if (store.state.sidebar.userRouter.length === 0) {

        // 無菜單時拉取

        getMenuRouter()

          .then(res => {

            let _menu = res.data.Data.ColumnDataList || [];

            // if (res.data.Data.ColumnDataList.length > 0) {

            // 整理菜單&路由數據

            store.commit("setMenuRouter", _menu);

            // 推入許可權路由列表

            router.addRoutes(store.state.sidebar.userRouter);

            next({...to, replace: true });

            // }

          })

          .catch(err => {

            // console.log(err);

            // Message.error("伺服器連接失敗");

          });

      } else {

        //當有用戶許可權的時候,說明所有可訪問路由已生成 如訪問沒許可權的菜單會自動進入404頁面

        if (to.path == "/login") {

          next({

            name: "index"

          });

        } else {

          next();

        }

      }

    } else {

      // 無登錄狀態時重定向至登錄 或可進入無需登錄狀態路徑

      if (to.path == "/login" || to.meta.auth === 0) {

        next();

      } else {

        next({

          path: "/login"

        });

      }

    }

  });

}

```

  > 經過需求5改造後的axios的請求攔截器是這樣的,因為ie無法使用`visibilitychange`,並且嘗試網路其他屬性無效,因此在請求發出前做了粗暴處理:

  ```

  if (ie瀏覽器) { 

      setLocal('_ie', Math.random())

      let Local_auth = getLocal(auth_code, true);

      let Session_auth = getSession(auth_code);

      if (Local_auth && Local_auth != Session_auth) {

        setSession(auth_code, Local_auth, true);

        router.go(0)

        return false

      }

    }

  ```

> 這里有一個小問題需要注意:因為用的`local`因此首次打開瀏覽器可能會有登錄已過期的提示,這里相信大家都能找到適合自己的處理方案

  ###  結語

經過這些簡單又好用的處理,一個基本滿足需求的前後端分離前端鑒權方案就誕生啦