一、Node.js簡介
1.1甭廢話,先安裝
nodejs是一個(gè)軟件,這個(gè)軟件和java類似,可以理解成為一個(gè)虛擬機(jī)。
nodejs這個(gè)軟件是分平臺的,windows、mac、linux都有不同的安裝包,但是我們寫的程序是一樣的。
官網(wǎng):https://nodejs.org/en/
logo:

下載安裝nodejs: ?https://nodejs.org/en/download/

老師已經(jīng)準(zhǔn)備好了windows下的安裝包,當(dāng)然有64位的,有32位的。
如果是mac的同學(xué),請自己下載自己的包。

?安裝的歡迎界面

?同意協(xié)議

?安裝路徑全程不能有中文。
事實(shí)上很多軟件公司已經(jīng)去中文化,文檔都是英語的文件名,文件夾都是英語的。
?這個(gè)界面不需要改變?nèi)魏蔚呐渲茫且溃哼@里安裝了4個(gè)東西。

?點(diǎn)擊下一步就開始安裝了

?系統(tǒng)的防火墻,選擇是

?安裝過程
?nodejs已經(jīng)被成功的安裝。

1.2驗(yàn)證安裝是否成功
驗(yàn)證安裝是否成功:按住windows徽標(biāo)鍵 + R鍵,呼出系統(tǒng)的“運(yùn)行”對話框:


輸入cmd按回車

cmd是命令的意思
我們能夠看見這樣的面板,我們叫做“命令行窗口”:

我們在這個(gè)命令行窗口中輸入
node -v
按回車,能夠看見nodejs的版本號:

此時(shí)我們就能夠看見V8.7.0字樣,說明nodejs安裝成功了,版本號是V8.7.0。
如果看見'node'不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。說明沒有安裝成功,此時(shí)重復(fù)1.1小節(jié)的內(nèi)容即可。
1.3整體感知一下nodejs怎么用?是個(gè)啥玩意兒
nodejs安裝好之后,桌面上沒有任何圖標(biāo),也就是說不是一個(gè)普通的軟件。
創(chuàng)建C:\node_study\day1文件夾
創(chuàng)建一個(gè)1.js的文件,程序是計(jì)算1~100的和:
var sum = 0;
for(var i =1 ; i <= 100; i++){
????sum += i;
}
console.log(sum);
我們的目的,用nodejs來運(yùn)行這個(gè)1.js程序。

可見盤符不是我們剛才創(chuàng)建的那個(gè)文件夾,不是那個(gè)1.js所在的文件夾。所以用
cd c:\nodejs_study\day1
來切換路徑。

我們的口號是運(yùn)行誰就node誰。
一定要注意盤符的位置。為了方便切換盤符,小技巧:

nodejs是一個(gè)運(yùn)行js的平臺,它的內(nèi)核是Chrome的V8引擎,nodejs不是一個(gè)語言,語言還是JavaScript。
現(xiàn)在的你已經(jīng)知道了2個(gè)JS的運(yùn)行環(huán)境:
1)瀏覽器環(huán)境,必須寫html骨架,必須寫
2)nodejs環(huán)境,不需要寫什么骨架,運(yùn)行誰就node誰
1.4感受nodejs非常強(qiáng)大的能力(演示)
需求:用JS程序批量更改圖片尺寸
看下面的代碼,是JS么???是?。?/p>
var fs = require("fs");
var gm = require("gm");
fs.readdir("./img" , function(err,files){
????for(let i = 0 ; i < files.length ; i++){
????????gm("./img/" + files[i]).resize(50, 50).write("./xiaotu/" + files[i], function () {
????????});
????}
});
我們書寫這個(gè)程序(當(dāng)然需要安裝依賴什么的,老師快速演示就省略了)
node 2.js
之后,發(fā)現(xiàn)現(xiàn)在JS程序可以批量更改圖片尺寸了??!
也就是說:nodejs讓js插上了翅膀。

nodejs的程序和瀏覽器運(yùn)行的js程序,本質(zhì)都是js程序,重點(diǎn)關(guān)注它們的差異是:
瀏覽器的js程序往往是實(shí)現(xiàn)DOM效果、數(shù)據(jù)的提交、表單的驗(yàn)證、canvas等等;
nodejs的js程序往往是寫服務(wù)器程序、操作文件、圖片、數(shù)據(jù)庫等等。
1.5了解一下系統(tǒng)的環(huán)境變量
安裝的位置C:\Program Files\nodejs

系統(tǒng)有一個(gè)機(jī)制,叫做“環(huán)境變量”,用PATH來表示。
我們只需要了解即可,不需要操作。
看一下環(huán)境變量在哪兒配置:

我們的msi安裝包已經(jīng)將nodejs安裝路徑添加到了系統(tǒng)的環(huán)境變量里面。
系統(tǒng)規(guī)定:所有在環(huán)境變量里面的路徑的exe程序,將能夠作為頂級的、系統(tǒng)級的命令在CMD窗口中被調(diào)用。
也就是說,我們每次運(yùn)行node程序,實(shí)際上都是在調(diào)用我們下載的node.exe文件。

1.6 Node.JS簡介
Ryan Dahl創(chuàng)始人

nodejs是一個(gè)極客追求極致服務(wù)器效率而做出的產(chǎn)物。
內(nèi)核是Chrome瀏覽器的V8引擎,解析JavaScript的效率是非常快的。
NodeJS的特點(diǎn):
[if !supportLists]l?[endif]單線程
[if !supportLists]l?[endif]異步I/O(非阻塞I/O)
[if !supportLists]l?[endif]事件驅(qū)動
這三個(gè)特點(diǎn)是什么意思呢?我們慢慢來尋找答案。
2013年開始,nodejs突然間火爆,因?yàn)閚odejs的工作流工具火了!
在1.3小節(jié)老師給大家進(jìn)行了一個(gè)演示,瞬間將 300多張圖片變?yōu)樾D,依賴了一個(gè)叫做gm的工具,這個(gè)工具就是nodejs工作流工具。
我們現(xiàn)在學(xué)習(xí)nodejs的意義,已經(jīng)從學(xué)習(xí)HTTP服務(wù)器的構(gòu)建,變?yōu)閷W(xué)習(xí)它的工作流工具。
公司的服務(wù)器都是PHP、JSP、Python、.net制作的,nodejs做http服務(wù)是很少的。但是,每一個(gè)前端必須會nodejs,因?yàn)橹笥玫乃械臇|西webpack、babel、gulp、grunt等等都是基于nodejs的。
關(guān)注微信公眾號:愛前端科技 更多前端技術(shù)知識分享 加入qq群 137503198 技術(shù)交流