摘要:入門是一門基于的后臺編程語言,由于其解析引擎為引擎,性能比較強大,再加上與前端語言關系更為密切的先天優勢,使其在眾多后臺編程語言中脫穎而出。那么線程呢,線程,有時被稱為輕量級進程,,是程序執行流的最小單元。
node入門
配置環境變量nodejs是一門基于JavaScript的后臺編程語言,由于其解析引擎為V8引擎,性能比較強大,再加上與前端語言關系更為密切的先天優勢,使其在眾多后臺編程語言中脫穎而出。
編程語言都需要一個運行環境,程序員寫出來的代碼不可能什么都不做電腦就可以解析和運行,如果你是前端工程師,那么你應該了解HTML、CSS、JavaScript這些語言都必需運行在瀏覽器中,原因就是瀏覽器提供了這些代碼運行的環境,即瀏覽器內置了這些代碼的解析引擎,當前端代碼運行在瀏覽器中,瀏覽器會調用不同的解析引擎對相應的代碼進行解析和渲染,最后形成我們看到的網頁。
那么對于后臺代碼亦然,由于沒有瀏覽器的平臺支持,后臺代碼要運行,必需有一個運行環境,node就是nodejs代碼運行的環境,怎么讓你的電腦擁有這么個環境呢?很簡單,去node官網下載node應用程序,然后安裝就行了(注意安裝的時候要記住node的安裝目錄)。
運行環境有了,但是還面臨一個問題,就是代碼怎樣才能在該環境中運行呢?參照前端代碼,你只要雙擊打開后綴名為html的文件,該文件的代碼就會自動在瀏覽器中運行了。但是后臺代碼可沒這么簡單,你需要借助命令提示符來讓你的node代碼跑起來,需要執行的命令為node
到這里你可能就會想,為什么執行這么一條命令,就能讓代碼執行在node環境中呢?這就需要了解環境變量了。命令提示符中非自帶的命令到需要手動配置一個環境變量,執行該命令的時候系統會自動去事先配好的環境目錄中尋找到相應的應用程序,然后執行該程序。
nodejs是單線程后臺語言計算機=> 屬性 => 高級系統設置 => 環境變量 => path新增(上文提到的安裝node的目錄)
nodejs是基于JavaScript的后臺語言,JavaScript本身就是單線程語言,那么nodejs理所當然的也就成了單線程后臺語言,那么線程到底是個什么東西呢?
要解釋線程,那么必需先了解另一個概念:進程。進程(Process)是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。程序是指令、數據及其組織形式的描述,進程是程序的實體。(該描述來自百度百科)通俗的說,打開任務管理器,你會看到很多進程,這些進程都或多或少占電腦的CPU和內存的,每個進程都是一段程序的實例,這些進程組成了計算機所有功能的實現。
那么線程呢,線程,有時被稱為輕量級進程(Lightweight Process,LWP),是程序執行流的最小單元。線程是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有系統資源,只擁有一點兒在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。一個線程可以創建和撤消另一個線程,同一進程中的多個線程之間可以并發執行。(同樣來自百度百科...)通俗的說,線程就是一個進程代碼執行的一條線,在一個線程中,代碼只能按一定順序先后執行,不能同時執行,多線程感覺就像可以同時干很多事,切換上下文的速度比較快。
異步編程由于node是單線程的,所以如果一段代碼比較耗時,那么就會出現代碼阻塞的情況,特別是后臺中對于文件讀寫的操作,所以在后臺開發中,能用異步(非阻塞)就不要用同步。因為你不知道一段異步代碼什么時候執行完畢,所以在異步編程中,一般都會使用回調函數來控制代碼的執行順序,而異步編程也是node開發中的一個難點。
npm后臺開發還有一個非常重要的概念就是模塊化開發,一個程序的功能需要分成很多模塊,模塊之間互不影響,否則在大型應用程序中開發根本無法進行。在后臺開發中,我們無可避免地需要使用第三方模塊來快速實現一些功能,那么怎么才能將別人寫好的第三方模塊添加到我們自己的項目當中呢?npm就是用來實現這個功能的。npm是包管理工具,用于管理第三方模塊,是node自帶的工具,無需多帶帶安裝。
npm install//本地安裝模塊 npm install -g //全局安裝模塊 npm uninstall //卸載本地模塊 npm uninstall -g //卸載全局模塊 npm --help //查看npm相關命令
nrm切換下載地址使用npm全局安裝的包不會被配置到環境變量中,由于npm已經存在環境變量中,相當于在npm下有一個快捷方式連接真實的文件
nrm是一個切換npm下載源的工具,使用前需要安裝,能夠切換到國內比較快的下載源
nrm ls 列出所有源 nrm test 測試所有源的下載速度 nrm usepackage.json 可以記錄安裝過哪些包
使用npm本地安裝(在當前項目中使用),默認安裝時會在當前目錄查找node_module文件夾,如果找不到,則向上級目錄查找,一直找到根目錄,如果找到了,則安裝到該文件夾,如果沒找到,則會在當前目錄新建一個node_module文件夾,將包裝到該文件夾下;如果初始化一個package.json文件,就不會導致向上級目錄查找
npm init -y //初始化(生成)package.json文件 npm install jquery --save //項目依賴 npm install babel-core --save-dev //開發依賴
項目依賴是指項目的代碼想要正常的運行就需要該模塊的支持,顯然無論何時,項目依賴的包都應在存在于項目中;而開發依賴則指的是項目上線的時候該模塊需要使用,上線之后這些包就不需要了,比如babel等代碼編譯的包。
當在不同的電腦上進行相同的項目開發的時候,如果有package.json文件記錄了依賴的包,就只要執行npm install來安裝所有項目需要使用到的第三方模塊
yarn注意安裝的時候加了什么后綴,卸載的時候也要加同樣的后綴
yarn和npm的功能一樣,但是yarn是第三方工具,需要安裝,那么為什么需要yarn呢?簡而言之,yarn具有更快的包安裝速度與更安全的包管理機制,如果想詳細了解這兩者的區別,可以閱讀這篇文章:http://web.jobbole.com/88459/
初始化package.json
yarn init -y
安裝包
yarn //跑環境,相當于npm install yarn add jquery //默認就是項目依賴 yarn add babel-core --dev //開發依賴
卸載包
yarn remove總結
以上只是node開發需要掌握的一些基礎入門知識,了解這些后起碼不會對node以及后臺開發一無所知,這些知識能為你的node開發開個好頭。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83921.html
摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數據增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協議和RESTful API相關資料. 阮一峰:理解RESTful架構 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...
摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數據增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協議和RESTful API相關資料. 阮一峰:理解RESTful架構 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...
摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數據增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協議和RESTful API相關資料. 阮一峰:理解RESTful架構 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...
摘要:常用的節點類型,,,。一句話這里是注釋找到的父節點獲取節點的一級的元素子節點,只獲取元素,返回的是集合。 1.常用的節點類型,nodeType,attributes,childNodes。 1.元素節點 - 1 2.屬性節點 - 2 3.文本節點 - 3 4.注釋節點 - 8 5.文檔節點 - 9 查看節點類型 node.nodeType(返回的是數字) 屬性節點 ...
摘要:常用的節點類型,,,。一句話這里是注釋找到的父節點獲取節點的一級的元素子節點,只獲取元素,返回的是集合。 1.常用的節點類型,nodeType,attributes,childNodes。 1.元素節點 - 1 2.屬性節點 - 2 3.文本節點 - 3 4.注釋節點 - 8 5.文檔節點 - 9 查看節點類型 node.nodeType(返回的是數字) 屬性節點 ...
閱讀 1120·2023-04-26 02:46
閱讀 624·2023-04-25 19:38
閱讀 638·2021-10-14 09:42
閱讀 1234·2021-09-08 09:36
閱讀 1353·2019-08-30 15:44
閱讀 1318·2019-08-29 17:23
閱讀 2236·2019-08-29 15:27
閱讀 801·2019-08-29 14:15