Node.js簡介
- Node.js是一個能夠在服務器端運行JavaScript的開源代碼、跨平臺JavaScript運行環境
- Node采用Google開發的V8引擎運行js代碼,使用事件驅動、非阻塞和異步I/O模型等技術來提高性能,可優化應用程式的傳輸量和規模
- Node大部分基本模塊都用JavaSprit撰寫,在Node出現之前JS通常作為客戶端程式設計語言使用,以JS寫出的程式通常在用戶的瀏覽器上運行
安裝Node環境
- 查看當前Node環境版本號
- node --version
- 下載:https://nodejs.org/en/download/
- 安裝
- next
- 安裝過的重新安裝就會升級
- 確認Node環境變數是否安裝成功
- 在node安裝目錄下cmd執行node --version或者node -v
- 環境變數
執行js代碼
- 撰寫js代碼
- 打開終端,定位到腳本檔案所屬的目錄
- 輸入node 檔案名執行對應的檔案
- 【注意】檔案名不要使用node.js執行對應的檔案
- 在Node中,采用EcmaScript進行編碼,沒有BOM\DOM
讀寫檔案
//fs是file-system的簡寫,就是檔案系統的意思
//在Node中如果想要進行檔案操作,就必須引入fs這個核心模塊
//在fs這個核心模塊中,就提供了所有的檔案操作相關的API
//例如:fs,readFile就是用來讀取檔案的
//1.使用require方法加載fs模塊
var fs=require("fs");
//2.讀取檔案
// 第一個引數就是要讀取的檔案路徑
// 第二個引數是一個回呼函式
// error
// 如果讀取失敗,error就是錯誤物件
// 如果讀取成功,error就是null
// data
// 如果讀取失敗,data就是錯誤物件
// 如果讀取成功,data就是讀取到的資料
fs.readFile("./Node.js簡介.md", function(error, data) {
// <Buffer 23 23 23 20 4e 6f 64 65 2e 6a 73 e7 ae 80 e4 bb 8b 0d 0a 0d 0a 2a 20 4e 6f 64 65 2e 6a 73 e6 98 af e4 b8 80 e4 b8 aa e8 83 bd e5 a4 9f e5 9c a8 e6 9c ... 1740 more bytes>
// 不是0 1 是因為二進制轉換為16進制
// 檔案中存盤的都是二進制資料
// 可以通過toString()方法轉換為我們可以看懂的
console.log(data.toString());
//通過判斷error來判斷有沒有錯誤發生
if (error) {
console.log("有錯誤發生");
} else {
console.log(data.toString());
}
})
寫檔案
//1.使用require方法加載fs模塊
var fs=require("fs");
//第一個引數:檔案路徑
//第二個引數:檔案內容
//第三個引數:回呼函式
// erroe
// 成功:檔案寫入成功、error是null
// 失敗:檔案寫入失敗、error是錯誤物件
fs.writeFile('./helle')
node創建服務器
// 1.加載http核心模塊
var http = require('http');
// 2.使用http.createServer()方法創建一個WEB 服務器
// 回傳一個Server實體
var server = http.createServer();
// 3.服務器
// 發請求 接受請求 處理請求 發送回應
// 注冊request 請求事件
// 當客戶端請求過來,就會自動觸發服務器的request請求事件,然后執行第二個引數:回呼函式
server.on('request', function(request, response) {
// request 請求事件處理函式,需要接受兩個引數
// Request請求物件
// 請求物件可以用來獲取客戶端的一些請求資訊,例如請求路徑
// Response 相應物件
// 回應物件可以用來給客戶端發送回應訊息
console.log('收到客戶請求,請求路徑是:' + request.url);
// response物件有一個方法:write可以用來給客戶端發送回應資料
// write可以使用多次,但是最后一定要用end來結束回應,否則客戶端會一直等待
// response.write("hello")
// response.write(" world")
// 結束回應并且給客戶端發送回應
response.end('hello world');
})
// 4.系結埠號,啟動服務器
server.listen(3000, function() {
console.log("服務器啟動成功");
});
Node中的JavaScript
-
EcmaScript
- 沒有DOM\BOM
-
核心模塊
在Node中為JavaScript提供了很多服務器級別的API,這些API絕大多數都被包裝到了一個具名的核心模塊中了,例如檔案操作的fs核心模塊,http服務構建的http模塊,path路徑操作模塊,os作業系統資訊模塊
//require用來加載核心模塊 var fs=require('fs'); -
第三方模塊
-
用戶自定義模塊
//require 方法的作用 // 1.加載檔案模塊并執行里面的代碼 // 2.拿到被加載檔案模塊匯出的介面物件 // 每個檔案模塊中都提供一個物件exports // exports默認是一個空物件 // 需要把所有需要被外部訪問的成員添加到這個物件中Web服務器開發
- ip地址和埠號
- ip地址用來定位計算機
- 埠號用來定位具體的應用程式
- 一切需要聯網通信的軟體都會占用一個埠號
- 埠號的范圍從0-65536之間
- 計算機中有一些默認埠號,最好不要去使用
- 例如http服務的80
- ip地址和埠號
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/153825.html
標籤:JavaScript
下一篇:ng--todolist
