第一個Node.js程序

學習于廖雪峰的官方網(wǎng)站

在前面的所有章節(jié)中,我們編寫的JavaScript代碼都是在瀏覽器中運行的,因此,我們可以直接在瀏覽器中敲代碼,然后直接運行。

從本章開始,我們編寫的JavaScript代碼將不能在瀏覽器環(huán)境中執(zhí)行了,而是在Node環(huán)境中執(zhí)行,因此,JavaScript代碼將直接在你的計算機上以命令行的方式運行,所以,我們要先選擇一個文本編輯器來編寫JavaScript代碼,并且把它保存到本地硬盤的某個目錄,才能夠執(zhí)行。

那么問題來了:文本編輯器到底哪家強?

肯定是VScode

首先,請注意,絕對不能用Word和寫字板。Word和寫字板保存的不是純文本文件。如果我們要用記事本來編寫JavaScript代碼,要務(wù)必注意,記事本以UTF-8格式保存文件時,會自作聰明地在文件開始的地方加上幾個特殊字符(UTF-8 BOM),結(jié)果經(jīng)常會導致程序運行出現(xiàn)莫名其妙的錯誤。

所以,用記事本寫代碼時請注意,保存文件時使用ANSI編碼,并且暫時不要輸入中文。

如果你的電腦上已經(jīng)安裝了Sublime Text,或者Notepad++,也可以用來編寫JavaScript代碼,注意用UTF-8格式保存。

輸入以下代碼:

'use strict';

console.log('Hello, world.');

第一行總是寫上'use strict';是因為我們總是以嚴格模式運行JavaScript代碼,避免各種潛在陷阱。

然后,選擇一個目錄,例如C:\Workspace,把文件保存為hello.js,就可以打開命令行窗口,把當前目錄切換到hello.js所在目錄,然后輸入以下命令運行這個程序了:

C:\Workspace>node hello.js
Hello, world.

也可以保存為別的名字,比如first.js,但是必須要以.js結(jié)尾。此外,文件名只能是英文字母、數(shù)字和下劃線的組合。

如果當前目錄下沒有hello.js這個文件,運行node hello.js就會報錯:

C:\Workspace>node hello.js
module.js:338
    throw err;
          ^
Error: Cannot find module 'C:\Workspace\hello.js'
    at Function.Module._resolveFilename
    at Function.Module._load
    at Function.Module.runMain
    at startup
    at node.js

報錯的意思就是,沒有找到hello.js這個文件,因為文件不存在。這個時候,就要檢查一下當前目錄下是否有這個文件了。

命令行模式和Node交互模式

請注意區(qū)分命令行模式和Node交互模式。
看到類似C:\>是在Windows提供的命令行模式。

在命令行模式下,可以執(zhí)行node進入Node交互式環(huán)境,也可以執(zhí)行node hello.js運行一個.js文件。

看到>是在Node交互式環(huán)境下:
在Node交互式環(huán)境下,我們可以輸入JavaScript代碼并立刻執(zhí)行。

例如,在Node交互式環(huán)境下,輸入:

> 100 + 200 + 300;
600

直接可以看到結(jié)果600

但是,寫一個calc.js的文件,內(nèi)容如下:

100 + 200 + 300;

然后在命令行模式下執(zhí)行:
C:\Workspace>node calc.js

發(fā)現(xiàn)什么輸出都沒有。

這是正常的。想要輸出結(jié)果,必須自己用console.log()打印出來

使用嚴格模式

如果在JavaScript文件開頭寫上'use strict';,那么Node在執(zhí)行該JavaScript時將使用嚴格模式。但是,在服務(wù)器環(huán)境下,如果有很多JavaScript文件,每個文件都寫上'use strict';很麻煩。我們可以給Nodejs傳遞一個參數(shù),讓Node直接為所有js文件開啟嚴格模式:

node --use_strict calc.js

后續(xù)代碼,如無特殊說明,我們都會直接給Node傳遞--use_strict參數(shù)來開啟嚴格模式。

小結(jié)

  • 用文本編輯器寫JavaScript程序,然后保存為后綴為.js的文件,就可以用node直接運行這個程序了。

  • node --use_strict calc.js 讓Node直接為所有js文件開啟嚴格模式。

  • Node的交互模式和直接運行.js文件有何區(qū)別?

    • 直接運行.js文件:相當于啟動了Node解釋器,然后一次性把hello.js文件的源代碼給執(zhí)行了
    • 在交互模式下:每輸入一行就執(zhí)行一行。

在編寫JavaScript代碼的時候,完全可以一邊在文本編輯器里寫代碼,一邊開一個Node交互式命令窗口,在寫代碼的過程中,把部分代碼粘到命令行去驗證,事半功倍!前提是得有個27'的超大顯示器!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容