<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          贈書 | Node.js 在大前端領(lǐng)域的應用分析

          共 2685字,需瀏覽 6分鐘

           ·

          2020-08-02 08:42

          作者:前端361

          原文地址:https://zhuanlan.zhihu.com/p/121055042

          關(guān)于 node 的使用已經(jīng)很久了,使用范圍也很廣,似乎有前端的地方就有 node,那么來思考一個問題,node 到底是用來干嘛的呢?本文從五個大的方面對該問題進行了解釋。本文不僅僅可以應用場景的分析,完全可以把它當做Node.js高級進階當路線,看看那些你還需要學。

          我們知道 node 的出現(xiàn),讓前端開發(fā)既 ajax 之后,有了全新的面貌,在開發(fā)效率,性能等層面都有質(zhì)的提升。歸納一直是知識提升的重要一環(huán),參考了很多內(nèi)容,本文對 node 的應用做了一個入門級的總結(jié)。讀完本文,希望可以清楚地認識到 node 在大前端中的地位和應用。

          首先看一張圖:

          node帶來了什么:

          從圖中可以看到 node 的應用是非常廣泛的,而最常用的就是工程化,自動化,npm

          node基本概念

          • 1,不在瀏覽器里運行的javascript

          • 2,基于Chrome JavaScript 運行時建立的一個平臺

          • 3,一個事件驅(qū)動I/O服務端JavaScript環(huán)境,基于GoogleV8引擎

          接下來,詳細看下 Node.js在大前端中的應用。

          廣義上應用

          在非瀏覽器端運行的js,包括前端環(huán)境搭建,云構(gòu)建,服務,中間件,都有node.js 的應用場景

          具體應用

          一、前端工具鏈層面

          二、npm

          三、工程化相關(guān)

          四、前后端完全分離

          五、 服務端

          一、前端工具鏈

          babel, webpack, eslint, jest 等的具體使用不展開討論

          二、npm

          1,自有命令

          用來管理 npm 包,執(zhí)行 node 文件

          2,npm

          特點:npm 包整體是對一類有共同應用的代碼抽象,包括了邏輯抽象,組件抽象,函數(shù)抽象

          三、工程化相關(guān)

          前端環(huán)境的建立是 node.js 在前端開發(fā)工作中最能體現(xiàn)價值的應用之一,node 的出現(xiàn)使得前端開發(fā)從刀耕火種的時代進入了科技時代。前端工程化依賴于前面提到的 webpack,gulp,babel,eslint 等,完整的腳手架體系除了客戶端能力,還包括自動構(gòu)建(比如jenkins),命令行發(fā)布的功能

          開發(fā)桌面應用

          Node.js 讓使用 js 開發(fā)桌面應用成為了可能,electron是當前比較流行的桌面應用開發(fā)工具,它 nodejschromium的結(jié)合起來,讓使用者可以調(diào)用 node.js的函數(shù),可以使用幾乎所有的nodejs社區(qū)里的module

          當下web應用非常流行,桌面應用似乎被遺忘,不過桌面應用也有一定的優(yōu)勢,比如在前端工程化領(lǐng)域,可以使用桌面應用作為統(tǒng)一的GUI集成工具,讓前端工程變得統(tǒng)一化,簡單化。

          前端工程化的意義

          四、前后端完全分離

          1.前端應用脫離服務端代碼,獨立部署在 node.js 提供的服務上

          渲染方式有兩種,一種是采用的常規(guī)渲染,在瀏覽器中生成html代碼;

          另一種是采用服務端渲染(ssr),這種渲染方式跟之前 java 生成 html 代碼的方式類似,但是現(xiàn)在的 ssr 和真正的服務端并沒有太多關(guān)系,ssr 是在node端渲染的方式

          2,基于大型項目的全棧開發(fā)

          在前端獨立部署的基礎(chǔ)上,node 端加入了數(shù)據(jù)處理,接口代理,終端適配等邏輯代碼,使得前端擴展性,性能大大增強。常見的全棧框架有eggmidway

          前后端完全分離的必要性

          1,在開發(fā)過程中,有些職責劃分不清晰,前后端分離是前端不再依賴于后端,后端可以 專注于model層,前端專注于 viewcontroller

          2,在 web 性能優(yōu)化中,前端所能做的優(yōu)化工作有很大的局限性,很多優(yōu)化要在合后端協(xié)調(diào)的基礎(chǔ)上完成,node.js 作為中間層,讓前端有足夠的優(yōu)化決定權(quán)

          3,前端可以基于業(yè)務,調(diào)整前端架構(gòu),融合不同技術(shù)棧

          前后端完全分離的適用性

          適用于有一定的技術(shù)支撐的團隊,不能為了分離而分離

          前端獨立部署擴展

          Node作為服務端

          Node和serverless

          Serverless在2019年于國內(nèi)開始嶄露頭角,目前還未大規(guī)模應用,但Serverless是必然的趨勢。

          其作為一種新型的互聯(lián)網(wǎng)架構(gòu),直接或間接推動了云計算的發(fā)展,從 AWS Lambda 到阿里云函數(shù)計算,Serverless 一路高歌,同時基于 Serverless 的輕量計算開始登錄云計算的舞臺。

          Serverless 的核心是 Faas,函數(shù)即服務,解決了傳統(tǒng) BFF資源成本高,運維成本高,開發(fā)成本高,難以適應需求變化快等問題和痛點,讓開發(fā)者能更專注于業(yè)務邏輯,其他的底層資源和運維工作已經(jīng)全部封裝。

          Node實現(xiàn)serverless

          使用 Serverless 框架搭建 Faas環(huán)境,ServerLess 框架是一個使用 Node.js 編寫的 CLI 工具,開發(fā)者無需關(guān)注底層資源即可部署完整可用的 Serverless 應用架構(gòu)

          之后開發(fā)者只需要根據(jù)業(yè)務編寫相關(guān)的 function,部署到在云計算平臺上即可。

          已經(jīng)使用serverLess的平臺

          總結(jié)

          本文不僅僅可以應用場景的分析,完全可以把它當做Node.js高級進階當路線,看看那些你還需要學,希望對小伙伴們有所幫助。





          福利來了


          贈送書籍
          《Node.js企業(yè)級應用開發(fā)實戰(zhàn)


          Node.js企業(yè)級應用開發(fā)實戰(zhàn)以通俗易懂的語言+Node.js 14技術(shù)棧+53個實戰(zhàn)案例,向讀者詳解Node.js基本原理、核心編程、網(wǎng)絡編程、數(shù)據(jù)存儲等前沿知識

          今天「JAVA」聯(lián)合「北京大學出版社」給大家?guī)?本《Node.js企業(yè)級應用開發(fā)實戰(zhàn)》技術(shù)書籍福利,感謝北京大學出版社的大力贊助與支持!

          免費獲取方法:
          活動僅限本公眾號讀者參與
          本文留言(不少于10字,表情不算字數(shù))點贊?前6名?免費贈送
          截止時間:8月4日晚上20點整

          為了讓更多讀者受益特此聲明:
          0、同一位讀者一個月內(nèi)只能獲獎一次(重復順延下一位);?
          1、每位讀者只有一次留言精選機會(留言字數(shù)需大于10字);?
          2、留言功能最多只能顯示100條,可設為星公眾號,第一時間留言;?
          3、請持續(xù)關(guān)注,每月都有書籍贈送,總有一次你會中獎的;?
          4、書籍發(fā)貨會比較慢,請中獎的讀者耐心等待!?

          也可點擊下方鏈接直接購買

          公眾號ID|javabaiwen

          小編微信|619531440


          每天分享技術(shù)干貨

          視頻|電子書|面試題|開發(fā)經(jīng)驗

          瀏覽 51
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一本色道久久88亚洲精品 | 欧美日韩一级免费看 | 成人黄片视频在线 | 麻豆传媒一区 | 亚洲中文字幕无码视频在线观看 |