Nodejs模塊

1、模塊:模塊是一個獨立的功能體。node

1.nodejs下模塊分爲核心模塊、自定義模塊、第三方模塊程序員

2.nodejs下每個文件(包括目錄)均可以稱爲模塊json

3.nodejs下,任意一個腳本文件都自動被一個構造函數所包含服務器

(function(exports,require,module,__filename,__dirname){app

//程序員編寫的代碼異步

})ide

 

__filename:當前模塊(文件)的絕對路徑和名稱函數

__dirname:當前模塊(文件)的絕對路徑ui

require:用於引入一個模塊,模塊前須要加路徑require(‘xxx.js’);若是模塊後綴名是js則能夠省略url

module:指當前模塊

module.exports:當前模塊的導出對象,能夠供其餘模塊使用的屬性的方法

exports:等價於module.exports

 

 

 

 

 

 

 

 

 

 

 

4.模塊的分類

 

以路徑開頭

不以路徑開頭

文件模塊

require(‘./xxx’),經常使用語用戶自定義的模塊,若是後綴爲js,則能夠省略

require(‘querstring’)經常使用於引入官方提供的核心模塊

目錄模塊

require(‘./xxx’),會在目錄xxx下自動尋找package.jsonmain屬性對應的文件,若是沒有則會自動引入index.js

require(‘xxx’),要求引入的目錄下的node_modules中,若是沒有則會到上一級目錄下尋找,知道頂層,經常使用語第三方模塊

 

 

 

 

 

 

 

 

 

 

5.核心模塊

5.1查詢字符串模塊-querystring

URL中問號後的部分就是查詢字符串

parse()  將查詢字符串解析爲對象

Stringify() 將對象格式轉爲查詢字符串

5.2URL模塊

parse()   將一個完整的URL解析爲對象

protocol 協議

hostname 主機名稱(域名/IP地址)

port 端口

pathname 文件在服務器上的路徑

query 查詢字符串

hash 獲取哈希(當前頁面跳轉)部分

format() 將對象格式化爲URL

query 屬相對應的值要求是對象

//引入查詢字符串模塊

const querystring = require('querystring');

//引入URL對象

const url = require('url');

var str = 'http://xxxx';

//url解析爲對象

var obj = url.parse(str);

//console.log(obj);

//獲取查詢字符串

var qs = obj.query;

//將查詢字符串解析爲對象

var obj2 = querystring.parse(qs);

console.log(obj2.course,obj2.cid);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.文件系統模塊-fs

對比同和異步的區別?

同步會阻止後續代碼的執行,只有方法執行完纔會繼續執行後邊的代碼,是經過方法返回值來獲取結果

異步不會阻止後續代碼的執行,把執行放到事件隊列中執行,在全部主線程代碼執行完纔會執行事件隊列的內容,是經過回調函數來獲取結果

6.1建立目錄

mkdir(路徑,回調函數)  /  mkdirSync(路徑)

6.2讀取目錄

readdir(路徑,回調函數)  /  readdirSync(路徑)

6.3移除目錄

rmdir(路徑,回調函數) /  statSync(路徑)

6.4查看文件的狀態

stat(路徑, 回調函數) / statSync(路徑)

6.5清空寫入文件(建立文件)

writeFile(路徑, 數據, 回調函數)/writeFileSync(路徑, 數據)

6.6追加寫入文件(建立文件)

appendFile(路徑, 數據, 回調函數)/appendFileSync(路徑,數據)

6.7讀取文件

readFile(路徑, 回調函數)/readFileSync(路徑)

6.8刪除文件

unlink(路徑, 回調函數)/unlinkSync(路徑)

6.9判斷文件(目錄)是否存在

existsSync(路徑)

eg:計數器:判斷文件num.txt是否存在,若是不存在則建立建立,並存儲值0,;從num.txt中讀取數字,而後再加1,打印出來;把加1後的結果再次寫入到num.txt中

 1 const fs = require('fs');  2 function show(){  3     if(!fs.existsSync('num.txt')){  4         fs.writeFileSync('num.txt',0);  5         console.log('建立新文件成功');  6     }else{  7         var res = fs.readFileSync('num.txt');  8         var num = parseInt(res);  9         num+=1; 10         fs.writeFileSync('num.txt',num); 11  console.log(num); 12  } 13 } 14 show();
View Code
相關文章
相關標籤/搜索