nodeJS入門(mén)

什么是NodeJS

JS是腳本語(yǔ)言,腳本語(yǔ)言都需要一個(gè)解析器才能運(yùn)行陷寝。對(duì)于寫(xiě)在HTML頁(yè)面里的JS京景,瀏覽器充當(dāng)了解析器的角色。而對(duì)于需要獨(dú)立運(yùn)行的JS赵抢,NodeJS就是一個(gè)解析器剧蹂。

每一種解析器都是一個(gè)運(yùn)行環(huán)境,不但允許JS定義各種數(shù)據(jù)結(jié)構(gòu)烦却,進(jìn)行各種計(jì)算宠叼,還允許JS使用運(yùn)行環(huán)境提供的內(nèi)置對(duì)象和方法做一些事情。例如運(yùn)行在瀏覽器中的JS的用途是操作DOM其爵,瀏覽器就提供了document之類(lèi)的內(nèi)置對(duì)象冒冬。而運(yùn)行在NodeJS中的JS的用途是操作磁盤(pán)文件或搭建HTTP服務(wù)器,NodeJS就相應(yīng)提供了fs摩渺、http简烤、websocket、rest摇幻、mysql等內(nèi)置對(duì)象横侦。

安裝NodeJS

從官網(wǎng)下載安裝包https://nodejs.org/ 安裝包是msi可以直接安裝。

在Windows上安裝時(shí)務(wù)必選擇全部組件绰姻,包括勾選Add to Path枉侧。

安裝完成后,在Windows環(huán)境下狂芋,請(qǐng)打開(kāi)命令提示符榨馁,然后輸入node -v,如果安裝正常银酗,你應(yīng)該看到v7.6.0這樣的輸出:

E:\visual-space\template>node -v

v12.16.1

如何運(yùn)行js代碼

在命令行輸入node辆影,進(jìn)入node交互模式

node

> console.log('Hello World!');

Hello World!

如果要運(yùn)行一大段代碼的話徒像,可以先寫(xiě)一個(gè)JS文件再運(yùn)行。

function hello() {

? ? console.log('Hello World!');

}

hello();

在命令行執(zhí)行

node hello.js

Hello World!

第一個(gè)例子蛙讥,引入 required 模塊

require函數(shù)用于在當(dāng)前模塊中加載和使用別的模塊锯蛀,傳入一個(gè)模塊名,返回一個(gè)模塊導(dǎo)出對(duì)象次慢。模塊名可使用相對(duì)路徑(以./開(kāi)頭)旁涤,或者是絕對(duì)路徑(以/或C:之類(lèi)的盤(pán)符開(kāi)頭)。另外迫像,模塊名中的.js擴(kuò)展名可以省略劈愚。以下是一個(gè)例子。

var http = require('http');

http.createServer(function (request, response) {

????// 發(fā)送 HTTP 頭部

????// HTTP 狀態(tài)值: 200 : OK

????// 內(nèi)容類(lèi)型: text/plain

????response.writeHead(200, {'Content-Type': 'text/plain'});

????// 發(fā)送響應(yīng)數(shù)據(jù) "Hello World"

????response.end('Hello World\n');

}).listen(8888);

// 終端打印如下信息

console.log('Server running at http://127.0.0.1:8888/');

使用命令行執(zhí)行

node server.js

從瀏覽器訪問(wèn)

打開(kāi)瀏覽器訪問(wèn) http://127.0.0.1:8888/闻妓,你會(huì)看到一個(gè)寫(xiě)著 "Hello World"的網(wǎng)頁(yè)菌羽。

npm

npm是什么東東?npm其實(shí)是Node.js的包管理工具(package manager)由缆。

NPM是隨同NodeJS一起安裝的包管理工具注祖,能解決NodeJS代碼部署上的很多問(wèn)題,常見(jiàn)的使用場(chǎng)景有以下幾種:

允許用戶從NPM服務(wù)器下載別人編寫(xiě)的第三方包到本地使用均唉。

允許用戶從NPM服務(wù)器下載并安裝別人編寫(xiě)的命令行程序到本地使用是晨。

允許用戶將自己編寫(xiě)的包或命令行程序上傳到NPM服務(wù)器供別人使用。

由于新版的nodejs已經(jīng)集成了npm舔箭,所以之前npm也一并安裝好了罩缴。同樣可以通過(guò)輸入?"npm -v"?來(lái)測(cè)試是否成功安裝。

初始化npm

npm init

在工程目錄執(zhí)行初始化命令层扶,會(huì)生成package.json文件箫章,里面有本項(xiàng)目的描述和依賴(lài)。

{

??"name":?"template",

??"version":?"1.0.0",

??"main":?"app.js",

??"scripts":?{

????"test":?"echo?\"Error:?no?test?specified\"?&&?exit?1"

??},

??"author":?"",

??"license":?"ISC",

??"description":?"",

??"dependencies":?{

????"nunjucks":?"2.4.2",

????"ws":?"1.1.1"

??}

}

如需增加依賴(lài)怒医,修改package.json添加dependencies即可

然后執(zhí)行npm install就會(huì)把依賴(lài)下載下來(lái)炉抒,保存在工程node_modules目錄下

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市稚叹,隨后出現(xiàn)的幾起案子焰薄,更是在濱河造成了極大的恐慌,老刑警劉巖扒袖,帶你破解...
    沈念sama閱讀 223,207評(píng)論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塞茅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡季率,警方通過(guò)查閱死者的電腦和手機(jī)野瘦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鞭光,你說(shuō)我怎么就攤上這事吏廉。” “怎么了惰许?”我有些...
    開(kāi)封第一講書(shū)人閱讀 170,031評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵席覆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我汹买,道長(zhǎng)佩伤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,334評(píng)論 1 300
  • 正文 為了忘掉前任晦毙,我火速辦了婚禮生巡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘见妒。我一直安慰自己孤荣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,322評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布徐鹤。 她就那樣靜靜地躺著垃环,像睡著了一般邀层。 火紅的嫁衣襯著肌膚如雪返敬。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,895評(píng)論 1 314
  • 那天寥院,我揣著相機(jī)與錄音劲赠,去河邊找鬼。 笑死秸谢,一個(gè)胖子當(dāng)著我的面吹牛凛澎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播估蹄,決...
    沈念sama閱讀 41,300評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼塑煎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了臭蚁?” 一聲冷哼從身側(cè)響起最铁,我...
    開(kāi)封第一講書(shū)人閱讀 40,264評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垮兑,沒(méi)想到半個(gè)月后冷尉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,784評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡系枪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,870評(píng)論 3 343
  • 正文 我和宋清朗相戀三年雀哨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,989評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雾棺,死狀恐怖膊夹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捌浩,我是刑警寧澤割疾,帶...
    沈念sama閱讀 36,649評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站嘉栓,受9級(jí)特大地震影響宏榕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜侵佃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,331評(píng)論 3 336
  • 文/蒙蒙 一麻昼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧馋辈,春花似錦抚芦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,814評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至答毫,卻和暖如春褥民,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背洗搂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,940評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工消返, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耘拇。 一個(gè)月前我還...
    沈念sama閱讀 49,452評(píng)論 3 379
  • 正文 我出身青樓撵颊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親惫叛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子倡勇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,995評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容