什麼是NodeJS
JS是腳本語言,腳本語言都需要一個解析器才能運行。對於寫在HTML頁面裏的JS,瀏覽器充當瞭解析器的角色。而對於需要獨立運行的JS,NodeJS就是一個解析器。
每一種解析器都是一個運行環境,不但允許JS定義各種數據結構,進行各種計算,還允許JS使用運行環境提供的內置對象和方法做一些事情。例如運行在瀏覽器中的JS的用途是操作DOM,瀏覽器就提供了document之類的內置對象。而運行在NodeJS中的JS的用途是操作磁盤文件或搭建HTTP服務器,NodeJS就相應提供了fs、http、websocket、rest、mysql等內置對象。
安裝NodeJS
從官網下載安裝包https://nodejs.org/ 安裝包是msi可以直接安裝。
在Windows上安裝時務必選擇全部組件,包括勾選Add to Path。
安裝完成後,在Windows環境下,請打開命令提示符,然後輸入node -v,如果安裝正常,你應該看到v12.16.1這樣的輸出:
E:\visual-space\template>node -v
v12.16.1
如何運行js代碼
在命令行輸入node,進入node交互模式
node > console.log('Hello World!');
Hello World!
如果要運行一大段代碼的話,可以先寫一個JS文件再運行。
function hello() {
console.log('Hello World!');
}
hello();
node hello.js
Hello World!
第一個例子,引入 required 模塊
require函數用於在當前模塊中加載和使用別的模塊,傳入一個模塊名,返回一個模塊導出對象。模塊名可使用相對路徑(以./開頭),或者是絕對路徑(以/或C:之類的盤符開頭)。另外,模塊名中的.js擴展名可以省略。以下是一個例子。
var http = require('http');
http.createServer(function (request, response) {
// 發送 HTTP 頭部
// HTTP 狀態值: 200 : OK
// 內容類型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 發送響應數據 "Hello World"
response.end('Hello World\n');
}).listen(8888);
// 終端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
使用命令行執行
node server.js
從瀏覽器訪問
打開瀏覽器訪問 http://127.0.0.1:8888/,你會看到一個寫着 "Hello World"的網頁。
npm
npm是什麼東東?npm其實是Node.js的包管理工具(package manager)。
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
- 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
- 允許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
- 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。
由於新版的nodejs已經集成了npm,所以之前npm也一併安裝好了。同樣可以通過輸入 "npm -v" 來測試是否成功安裝。
初始化npm
npm init
在工程目錄執行初始化命令,會生成package.json文件,裏面有本項目的描述和依賴。
{
"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"
}
}
如需增加依賴,修改package.json添加dependencies即可
然後執行npm install就會把依賴下載下來,保存在工程node_modules目錄下