亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

node入門基礎(chǔ)

wujl596 / 2528人閱讀

摘要:入門是一門基于的后臺(tái)編程語(yǔ)言,由于其解析引擎為引擎,性能比較強(qiáng)大,再加上與前端語(yǔ)言關(guān)系更為密切的先天優(yōu)勢(shì),使其在眾多后臺(tái)編程語(yǔ)言中脫穎而出。那么線程呢,線程,有時(shí)被稱為輕量級(jí)進(jìn)程,,是程序執(zhí)行流的最小單元。

node入門

nodejs是一門基于JavaScript的后臺(tái)編程語(yǔ)言,由于其解析引擎為V8引擎,性能比較強(qiáng)大,再加上與前端語(yǔ)言關(guān)系更為密切的先天優(yōu)勢(shì),使其在眾多后臺(tái)編程語(yǔ)言中脫穎而出。

配置環(huán)境變量

編程語(yǔ)言都需要一個(gè)運(yùn)行環(huán)境,程序員寫出來的代碼不可能什么都不做電腦就可以解析和運(yùn)行,如果你是前端工程師,那么你應(yīng)該了解HTML、CSS、JavaScript這些語(yǔ)言都必需運(yùn)行在瀏覽器中,原因就是瀏覽器提供了這些代碼運(yùn)行的環(huán)境,即瀏覽器內(nèi)置了這些代碼的解析引擎,當(dāng)前端代碼運(yùn)行在瀏覽器中,瀏覽器會(huì)調(diào)用不同的解析引擎對(duì)相應(yīng)的代碼進(jìn)行解析和渲染,最后形成我們看到的網(wǎng)頁(yè)。

那么對(duì)于后臺(tái)代碼亦然,由于沒有瀏覽器的平臺(tái)支持,后臺(tái)代碼要運(yùn)行,必需有一個(gè)運(yùn)行環(huán)境,node就是nodejs代碼運(yùn)行的環(huán)境,怎么讓你的電腦擁有這么個(gè)環(huán)境呢?很簡(jiǎn)單,去node官網(wǎng)下載node應(yīng)用程序,然后安裝就行了(注意安裝的時(shí)候要記住node的安裝目錄)。

運(yùn)行環(huán)境有了,但是還面臨一個(gè)問題,就是代碼怎樣才能在該環(huán)境中運(yùn)行呢?參照前端代碼,你只要雙擊打開后綴名為html的文件,該文件的代碼就會(huì)自動(dòng)在瀏覽器中運(yùn)行了。但是后臺(tái)代碼可沒這么簡(jiǎn)單,你需要借助命令提示符來讓你的node代碼跑起來,需要執(zhí)行的命令為node 。

到這里你可能就會(huì)想,為什么執(zhí)行這么一條命令,就能讓代碼執(zhí)行在node環(huán)境中呢?這就需要了解環(huán)境變量了。命令提示符中非自帶的命令到需要手動(dòng)配置一個(gè)環(huán)境變量,執(zhí)行該命令的時(shí)候系統(tǒng)會(huì)自動(dòng)去事先配好的環(huán)境目錄中尋找到相應(yīng)的應(yīng)用程序,然后執(zhí)行該程序。

計(jì)算機(jī)=> 屬性 => 高級(jí)系統(tǒng)設(shè)置 => 環(huán)境變量 => path新增(上文提到的安裝node的目錄)

nodejs是單線程后臺(tái)語(yǔ)言

nodejs是基于JavaScript的后臺(tái)語(yǔ)言,JavaScript本身就是單線程語(yǔ)言,那么nodejs理所當(dāng)然的也就成了單線程后臺(tái)語(yǔ)言,那么線程到底是個(gè)什么東西呢?

要解釋線程,那么必需先了解另一個(gè)概念:進(jìn)程。進(jìn)程(Process)是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。程序是指令、數(shù)據(jù)及其組織形式的描述,進(jìn)程是程序的實(shí)體。(該描述來自百度百科)通俗的說,打開任務(wù)管理器,你會(huì)看到很多進(jìn)程,這些進(jìn)程都或多或少占電腦的CPU和內(nèi)存的,每個(gè)進(jìn)程都是一段程序的實(shí)例,這些進(jìn)程組成了計(jì)算機(jī)所有功能的實(shí)現(xiàn)。

那么線程呢,線程,有時(shí)被稱為輕量級(jí)進(jìn)程(Lightweight Process,LWP),是程序執(zhí)行流的最小單元。線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)兒在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源。一個(gè)線程可以創(chuàng)建和撤消另一個(gè)線程,同一進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。(同樣來自百度百科...)通俗的說,線程就是一個(gè)進(jìn)程代碼執(zhí)行的一條線,在一個(gè)線程中,代碼只能按一定順序先后執(zhí)行,不能同時(shí)執(zhí)行,多線程感覺就像可以同時(shí)干很多事,切換上下文的速度比較快。

異步編程

由于node是單線程的,所以如果一段代碼比較耗時(shí),那么就會(huì)出現(xiàn)代碼阻塞的情況,特別是后臺(tái)中對(duì)于文件讀寫的操作,所以在后臺(tái)開發(fā)中,能用異步(非阻塞)就不要用同步。因?yàn)槟悴恢酪欢萎惒酱a什么時(shí)候執(zhí)行完畢,所以在異步編程中,一般都會(huì)使用回調(diào)函數(shù)來控制代碼的執(zhí)行順序,而異步編程也是node開發(fā)中的一個(gè)難點(diǎn)。

npm

后臺(tái)開發(fā)還有一個(gè)非常重要的概念就是模塊化開發(fā),一個(gè)程序的功能需要分成很多模塊,模塊之間互不影響,否則在大型應(yīng)用程序中開發(fā)根本無法進(jìn)行。在后臺(tái)開發(fā)中,我們無可避免地需要使用第三方模塊來快速實(shí)現(xiàn)一些功能,那么怎么才能將別人寫好的第三方模塊添加到我們自己的項(xiàng)目當(dāng)中呢?npm就是用來實(shí)現(xiàn)這個(gè)功能的。npm是包管理工具,用于管理第三方模塊,是node自帶的工具,無需多帶帶安裝。

npm install   //本地安裝模塊
npm install  -g   //全局安裝模塊
npm uninstall     //卸載本地模塊
npm uninstall  -g    //卸載全局模塊
npm --help  //查看npm相關(guān)命令

使用npm全局安裝的包不會(huì)被配置到環(huán)境變量中,由于npm已經(jīng)存在環(huán)境變量中,相當(dāng)于在npm下有一個(gè)快捷方式連接真實(shí)的文件

nrm切換下載地址

nrm是一個(gè)切換npm下載源的工具,使用前需要安裝,能夠切換到國(guó)內(nèi)比較快的下載源

nrm ls 列出所有源
nrm test 測(cè)試所有源的下載速度
nrm use  切換不同的源
package.json 可以記錄安裝過哪些包

使用npm本地安裝(在當(dāng)前項(xiàng)目中使用),默認(rèn)安裝時(shí)會(huì)在當(dāng)前目錄查找node_module文件夾,如果找不到,則向上級(jí)目錄查找,一直找到根目錄,如果找到了,則安裝到該文件夾,如果沒找到,則會(huì)在當(dāng)前目錄新建一個(gè)node_module文件夾,將包裝到該文件夾下;如果初始化一個(gè)package.json文件,就不會(huì)導(dǎo)致向上級(jí)目錄查找

npm init -y //初始化(生成)package.json文件
npm install jquery --save   //項(xiàng)目依賴
npm install babel-core --save-dev   //開發(fā)依賴

項(xiàng)目依賴是指項(xiàng)目的代碼想要正常的運(yùn)行就需要該模塊的支持,顯然無論何時(shí),項(xiàng)目依賴的包都應(yīng)在存在于項(xiàng)目中;而開發(fā)依賴則指的是項(xiàng)目上線的時(shí)候該模塊需要使用,上線之后這些包就不需要了,比如babel等代碼編譯的包。

當(dāng)在不同的電腦上進(jìn)行相同的項(xiàng)目開發(fā)的時(shí)候,如果有package.json文件記錄了依賴的包,就只要執(zhí)行npm install來安裝所有項(xiàng)目需要使用到的第三方模塊

注意安裝的時(shí)候加了什么后綴,卸載的時(shí)候也要加同樣的后綴

yarn

yarn和npm的功能一樣,但是yarn是第三方工具,需要安裝,那么為什么需要yarn呢?簡(jiǎn)而言之,yarn具有更快的包安裝速度與更安全的包管理機(jī)制,如果想詳細(xì)了解這兩者的區(qū)別,可以閱讀這篇文章:http://web.jobbole.com/88459/

初始化package.json

yarn init -y

安裝包

yarn    //跑環(huán)境,相當(dāng)于npm install
yarn add jquery   //默認(rèn)就是項(xiàng)目依賴
yarn add babel-core --dev  //開發(fā)依賴

卸載包

yarn remove 
總結(jié)

以上只是node開發(fā)需要掌握的一些基礎(chǔ)入門知識(shí),了解這些后起碼不會(huì)對(duì)node以及后臺(tái)開發(fā)一無所知,這些知識(shí)能為你的node開發(fā)開個(gè)好頭。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/83921.html

相關(guān)文章

  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊(cè)入門目標(biāo)使用搭建通過對(duì)數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴注入 D...

    Jeffrrey 評(píng)論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊(cè)入門目標(biāo)使用搭建通過對(duì)數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴注入 D...

    sf190404 評(píng)論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊(cè)入門目標(biāo)使用搭建通過對(duì)數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴注入 D...

    Airmusic 評(píng)論0 收藏0
  • JS基礎(chǔ)入門篇(二十四)—DOM(上)

    摘要:常用的節(jié)點(diǎn)類型,,,。一句話這里是注釋找到的父節(jié)點(diǎn)獲取節(jié)點(diǎn)的一級(jí)的元素子節(jié)點(diǎn),只獲取元素,返回的是集合。 1.常用的節(jié)點(diǎn)類型,nodeType,attributes,childNodes。 1.元素節(jié)點(diǎn) - 1 2.屬性節(jié)點(diǎn) - 2 3.文本節(jié)點(diǎn) - 3 4.注釋節(jié)點(diǎn) - 8 5.文檔節(jié)點(diǎn) - 9 查看節(jié)點(diǎn)類型 node.nodeType(返回的是數(shù)字) 屬性節(jié)點(diǎn) ...

    Amio 評(píng)論0 收藏0
  • JS基礎(chǔ)入門篇(二十四)—DOM(上)

    摘要:常用的節(jié)點(diǎn)類型,,,。一句話這里是注釋找到的父節(jié)點(diǎn)獲取節(jié)點(diǎn)的一級(jí)的元素子節(jié)點(diǎn),只獲取元素,返回的是集合。 1.常用的節(jié)點(diǎn)類型,nodeType,attributes,childNodes。 1.元素節(jié)點(diǎn) - 1 2.屬性節(jié)點(diǎn) - 2 3.文本節(jié)點(diǎn) - 3 4.注釋節(jié)點(diǎn) - 8 5.文檔節(jié)點(diǎn) - 9 查看節(jié)點(diǎn)類型 node.nodeType(返回的是數(shù)字) 屬性節(jié)點(diǎn) ...

    ChristmasBoy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

wujl596

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<