node.js 學習筆記(四)核心模塊

咱們知道node裏面有兩種類型模塊:一個是核心模塊(系統模塊)、一個是文件模塊(自定義模塊或第三方模塊)下面簡單說說node裏面那些核心模塊。html

1、核心模塊與文件模塊的區別node

核心模塊由Node.js平臺提供的模塊,也稱系統模塊。api

核心模塊導入規則:不以雙點(..)或點(.) 和斜杆(/)開始的標識符。數組

var fs=require("fs")

 

文件模塊:導入規則以雙點(..)或點(.) 和斜杆(/)開始的標識符服務器

var hi =require("./hi")

注:一般咱們導入的模塊會存放在node_modules文件夾裏。socket

2、os(操做系統)核心模塊函數

os 模塊提供了操做系統相關的使用方法工具

詳細的NodeJs官方os模塊方法中文文檔地址:http://nodejs.cn/api/os.html,這裏我只是簡單說說ui

os.jsthis

const os=require('os');
//os.hostname() 方法以字符串的形式返回操做系統的主機名。
console.log('主機名'+os.hostname());
//os.cpus() 方法返回一個對象數組,包含每一個邏輯 CPU 內核的信息。
console.log('本機CPU'+os.cpus());
//os.platform() 方法返回一個字符串,指定 Node.js 編譯時的操做系統平臺。
console.log('本機操做系統平臺'+os.platform());
//os.type() 方法返回一個字符串, 返回的操做系統的名字。
console.log('本機操做系統:'+os.type())

運行:

 

 三:path(路徑)核心模塊

path 模塊提供用於處理文件路徑和目錄路徑的實用工具。

詳細的NodeJs官方path模塊方法中文文檔地址:http://nodejs.cn/api/path.html

path.js

const path=require('path');
var testData='E:/travel/index.html';
//path.basename() 方法返回 path 的最後一部分,
console.log(path.basename(testData));
//path.dirname() 方法返回 path 的目錄名,即除去最後一部分的全部路徑
console.log(path.dirname(testData));
//path.extname() 方法返回 path 的擴展名,從最後一次出現 .(句點)字符到 path 最後一部分的字符串結束。
console.log(path.extname(testData));

運行

 

 4、URL核心模塊

url 模塊用於處理與解析 URL.

詳細的NodeJs官方url模塊方法中文文檔地址:http://nodejs.cn/api/url.html

url.js

const url=require('url');
var data='http://itcat.cn?name=李四&age=22';

console.log('默認第二參數false--',url.parse(data));
console.log('第二參數true--',url.parse(data,true));
console.log('第二參數true--',url.parse(data,true).query);

運行

 

 5、fs(文件操做)核心模塊

fs 模塊提供了一個 API,用於以模仿標準 POSIX 函數的方式與文件系統進行交互。

詳細的NodeJs官方fs模塊方法中文文檔地址:http://nodejs.cn/api/fs.html

關於fs我在以前有簡單應用過,如今在這仍是從新說下

fs.js,寫入數據傳到a.txt

var fs=require('fs');
fs.writeFile('./data/a.txt','祖國七十華誕快樂,大夥國慶快樂',function(err){
    if(err){
        console.log('寫入失敗');
        return;
    }else{
        console.log('寫入成功');
    }
    
});

運行

 

 

 

 

6、http核心模塊

http 模塊提供了一個 API,用於使用 HTTP 服務器和客戶端

詳細的NodeJs官方fs模塊方法中文文檔地址:http://nodejs.cn/api/http.html

http.js

// 1. 加載 http 核心模塊
var http = require('http');

// 2. 使用 http.createServer() 方法建立一個 Web 服務器
//    返回一個 Server 實例
var server = http.createServer();

// 3. 註冊 request 請求事件
//    當客戶端請求過來,就會自動觸發服務器的 request 請求事件,而後執行第二個參數:回調處理函數
server.on('request', function (req,res) {
  console.log('收到客戶端的請求,請求地址是:'+req.url);
  console.log('收到客戶端的請求,請求地址頭信息(對象)是:'+req.headers);
  console.log('收到客戶端的請求,請求地址頭信息(數組)是:'+req.rawHeaders);
  console.log('收到客戶端的請求,請求地址HTTP版本是:'+req.httpVersion);
  console.log('收到客戶端的請求,請求方法是:'+req.method);
  console.log('請求個人客戶端的地址是:', req.socket.remoteAddress, req.socket.remotePort)
  //發送響應內容(res),res.setHeader()解決響應數據亂碼
  res.setHeader('Content-Type','text/html; charset=utf-8');
  //根據url不一樣響應不一樣數據
  var url=req.url;
  if(url==='/'){
    res.end("百度一下,你就知道,<a href='http://www.baidu.com'>百度</a>");
  }else if(url==='/login'){
    res.end('this is login pages')
  }else if (url === '/products') {
    var products = [{
        name: '蘋果 X',
        price: 8888
      },
      {
        name: '菠蘿 X',
        price: 5000
      },
      {
        name: '小辣椒 X',
        price: 1999
      }
    ]
    //注:響應內容只能是二進制數據或者字符串
    //因此對數字、對象、數組、布爾值等需進行轉化。
    res.end(JSON.stringify(products))
  } else {
     //res.end()結束響應數據發送
     res.end('404 Not Found.')
  }
  
})

// 4. 綁定端口號,啓動服務器
server.listen(3000, function () {
  console.log('服務器啓動成功了,能夠經過 http://127.0.0.1:3000/ 來進行訪問');
})

運行,並登錄網址

 

 效果圖就不展現了哈

 另外,nodejs裏面核心模塊不止這樣,至於其餘的你們能夠去NodejsAPI文檔官網查看:http://nodejs.cn/api/

相關文章
相關標籤/搜索