使用NodeJS模塊

  • 除了使用本身寫的本地模塊之外,NodeJS能夠使用另外兩種類型的模塊,分別是NodeJS官方提供的核心模塊第三方提供的模塊

 

NodeJS官方提供的核心模塊

 

NodeJS平臺自帶的一套基本的功能模塊,也被稱爲NodeJS平臺的APInode

 

// 使用模塊全局的 require() 方法引入 fs 模塊
const fs = require('fs')

// 使用 fs 模塊導出的 readFile() 方法讀取 data.json 文件中的內容
fs.readFile('./data.json', {encoding: 'utf8', flag: 'r'}, (err, data) => {})
  • .readFire( )方法讀取 data.json 文件中的內容, 
  •   './data.json' 是要讀取的文件,
  • encoding: 'utf8',是字符編碼,
  • flag: 'r',是讀取的方式,
  •   讀取成功時,err 爲 null,data 爲讀取到的數據
     讀取失敗時,err 爲錯誤對象,data 爲 undefined
  • (err, data),err是檢查文件是否存在,若是不存在打印undifined,並終止進程運行,
  • data是文件存在並繼續訪問的數據,

 

使用fs.writeFile()方法給data文件裏傳數據(‘寫’文件要在‘讀’文件裏追加)
 1 const fs = require('fs');
 2 
 3 fs.readFile('data.json', { encoding: 'utf8', flag: 'r' }, (err, data) => {
 4 
 5     // 給data文件裏傳值
 6 
 7     // 將json格式的字符串轉換成js對象(array,object)
 8     data = JSON.parse(data)
 9     console.log(typeof data);  //string
10     console.log(data instanceof Array)  //true
11     //   寫內容
12     const student = {
13         fullNmae: 'zzj',
14         age: 18,
15         hobby: '學習',
16         gender: '女'
17     }
18     // 向data裏面追加student
19     data.push(student);
20     // 將js對象轉換成json對象
21      JSON.stringify(data)
22     // 使用fs.writeFile()方法給data文件裏傳數據
23     fs.writeFile('data.json',JSON.stringify(data ,null,4), (err) => {
24         if (err) {
25             console.log('失敗')
26             return;
27         }
28         console.log('成功')
29     })
30 })
JSON.stringify(data ,null,4) 
null:表示函數,不須要函數則寫null,
4:表示4個字符間距(效果以下圖)


 

os操做系統

1 const os = require('os')
2 console.log(os.freemem()/1024/1024/1024)
3 // 獲取家目錄
4 console.log(os.homedir())
5 // 獲取CPU架構
6 console.log(os.arch())
7 // 獲取幾核
8 console.log(os.cpus())       

 

 

第三方開發者提供的模塊

第三方模塊是由NodeJS社區或第三方我的開發的功能模塊,這些功能模塊以軟件包的形式存在。被髮布在npmjs註冊表中。npmjs是一個註冊中心,全部軟件包的信息都會被記錄到該註冊中的數據庫中,咱們能夠來到npmjs官方站點,根據關鍵字搜索本身須要的軟件包數據庫

 

 

 

點擊軟件包的名字會跳轉到軟件包的詳情頁面:npm

 

 

咱們須要的軟件包已經找到了,可是咱們怎麼樣去使用軟件包提供的功能呢?json

咱們能夠經過NPM(Node Package Manager)使用軟件包,NPM是NodeJS的包管理器,它提供了一系列的命令,能夠幫咱們安裝、刪除、更新、搜索以及建立本身的軟件包。網絡

因爲只有軟件包纔是使用其餘的軟件包,所以咱們必需要先建立本身的軟件包,而後才能在本身的軟件包中使用其餘的軟件包。架構

咱們怎麼樣去建立本身的軟件包呢?答案是經過NPM提供的一系列命令建立本身的軟件包。app

 

一、 在合適的目錄下,打開命令窗口,建立軟件包的目錄,並切換到該目錄下:函數

mkdir lodashdemo && cd loadshdemo                                                                              學習

二、 使用NPM提供的命令,初始化軟件包,你須要回答幾個問題,回答完畢以後會生成一個package.json文件,該文件記錄了軟件包的全部信息。ui

npm init                                                                                

三、若是你只是想把建立的包做爲一個本地項目,並不想將它發佈到npmjs註冊中心(不想讓別人使用你的軟件包),你須要移除package.json文件中的main字段,而後添加private字段,並指定其值爲true,表示這是私有的軟件包。修改以後的結果以下:

{
  "name": "lodashdemo",
  "version": "1.0.0",
  "description": "講解 NPM 包管理器的使用方法",
  "private": true,
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "demo",
    "lodash",
    "陳老師"
  ],
  "author": "陳老師",
  "license": "MIT"
}

三、 使用NPM的命令安裝第三方模塊,此步驟須要訪問網絡。

npm install lodash --save-prod                                                                

  • install也能夠簡寫成i
  •  --save-prod 將 lodash 模塊做爲當前軟件包的產品依賴,並將依賴信息記錄到package.json文件中的dependencies字段中
  • 此外,初次執行install命令時,還會生成一個package-lock.json文件,該文件記錄了當前軟件包所依賴的其餘軟件包的詳細信息,用於將軟件包鎖定到特定的版本。
  • 安裝完成以後,當前項目的目錄下會生成一個node_modules/目錄,目錄中保存就是咱們下載後的軟件包。

四、 建立本身的項目文件,例如,app.js文件,導入第三方模塊,便可使用模塊提供的功能

 1 // 導入 lodash 模塊
 2 const _ = require('lodash');
 3 
 4 // 使用 lodash 模塊提供的方法
 5 const add = _.add(12, 56)
 6 console.log(add)
 7 
 8 const subtract = _.subtract(8, 4)
 9 console.log(subtract)
10 
11 const multiply = _.multiply(8, 4)
12 console.log(multiply)
相關文章
相關標籤/搜索