什么是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目錄下