天天看點

NodeJS中的子產品和npm包管理器Node使用子產品的原因Node中子產品的使用(CommonJS标準)核心子產品npm包管理器Node的檔案系統

NodeJS中的子產品和包

  • Node使用子產品的原因
  • Node中子產品的使用(CommonJS标準)
  • 核心子產品
  • npm包管理器
  • Node的檔案系統
    • fs子產品

Node使用子產品的原因

  • 可以提高代碼的使用率,可讀性,減少程式的代碼量
  • 可以實作代碼的共享
  • 根據實際開發的需求對外暴露子產品的屬性和方法

Node中子產品的使用(CommonJS标準)

  • 使用moduel.exports導出子產品:讓子產品對外暴露
  • 使用者可以通過require(子產品名)将子產品導入到目前的程式中使用
  • 使用exports導出子產品中的部分的屬性
exports.sayHello=function(name){
		console.log('你好'+name);
		console.log('今天是'+show_day[day-1]);
	}
           

核心子產品

  • os

    子產品:包括了作業系統的詳細資訊
  • util

    子產品:實用工具子產品,提供的功能幫助使用者簡化開發
  • path

    子產品:用于解決多平台目錄路徑問題
    1. 屬性:

      path.delimiter

      path.sep

    2. 方法:
  • url

    子產品:
    1. 先導入url子產品,然後通過parse方法實作對位址的解析:
    const url = require('url');
    	const myUrl = url.parse('http://localhost:8080/index.html?username=張三&password=123456');
    	//url位址中的符号:?:是請求位址和請求參數之間的分隔符
               
    1. 先導入url子產品中的URL類,将位址字元串作為參數傳遞給URL類的構造函數對位址進行解析
    const{URL}=require('url');
    	constmyurl=newURL('http://localhost:8080/index.html?username=張三&password=123456');
               
    1. 解析url位址中查詢字元串:URLSearchParams類的使用

      先導入:

      const{URL,URLSearchParams}=require('url');

      調用方法:get方法擷取值

      URL類的屬性之一是:

      searchParams

      searchParams

      URLSearchParams

      類的對象,在該類中定義方法get(),用來擷取查詢字元串中的參數
  • querystring

    子產品:對URL查詢字元串進行處理和解析
    1. parse

      方法:将URL查詢字元串解析成鍵值對集合
    2. stringify

      方法:将對象(鍵值對)轉換成URL的查詢字元串,實際上就是parse方法的逆操作

npm包管理器

npm(Node Package Manager)包管理器

更新npm:

npm install npm -g

:-g是安裝參數,表示全局安裝

安裝包:

  1. 安裝本地包:

    npm install 包名

    确定安裝包版本(安裝指定版本的包):

    npm install 包名@版本号

    安裝全局的包:

    npm install -g 包名

檢視安裝資訊:

npm list

-->檢視目前目錄下安裝的包

檢視全局安裝的包:

npm list -g 包名

package.json檔案的功能:

  1. 列出目前項目所依賴的包
  2. 指定目前項目所使用的包的版本
  3. 實作可重用的建構,更易于其他開發人員共享包

    建立預設的package.json

    npm init --yes
               

包的使用環境

安裝在開發與測試環境下使用的包(會在package.json檔案中加入"devDependencies"節點)

npm install 包名 --save-dev
           

安裝在生産環境中使用的包(會在package.json檔案中加入"dependencies"節點)

npm install 包名
           

包的更新(更新)

npm update 包名

-->更新目前目錄下指定的包

npm update -g 包名

-->更新全局的包

包的解除安裝

npm unistall 包名

-->解除安裝"dependencies"節點下的包(生産環境)

npm unistall 包名

--save-dev -->解除安裝"devDependencies"節點下的包(開發與測試環境)

npm unistall -g 包名

-->解除安裝全局的包

清空npm的本地緩存

npm cache clean

釋出自己的包

在npm伺服器上注冊使用者,使用npm publish釋出。

安裝淘寶的npm鏡像伺服器

npm install -g cnpm --registry=https://registry.npm.taobao.org
           

在安裝包時,使用cnpm代替npm

Node的檔案系統

fs子產品

fs子產品:提供了檔案操作的API

fs子產品共有5個類:

  1. fs.Dirent類:(訓示檔案的類型)
  2. fs.FSWatcher類:(監視檔案)
  3. fs.ReadStream類:讀取流(檔案輸入流)
  4. fs.WriteStream類:寫入流(檔案輸出流)
  5. fs.Stats類:檔案的資訊(檔案的狀态)

fs子產品中方法的分類:

  1. 同步方法:方法名帶有Sync字尾
  2. 異步方法:方法名不帶Sync字尾,最後一個參數是回調函數

fs子產品的常量(FS常量)

Node中檔案路徑的表示方式:

  1. 字元串方式:
    1. windows下路徑分隔符為: \
    2. Linux下路徑分隔符為:/
  2. Buffer方式:Buffer.from(字元串) --> 主要用于linux系統
  3. URL方式:在Node7.6.0以上版本使用,支援file協定。在不同的作業系統下,解析出來的路徑會有差別。

檔案模式(檔案通路權限):

  • a:以追加的方式打開檔案,若檔案不能再則建立
  • a+:以讀取追加的方式打開檔案,若檔案不能再則建立
  • r:以隻讀的方式打開檔案,若檔案不存在則抛出異常
  • r+:以讀取和寫入的方式打開檔案,若檔案不存在則抛出異常
  • w:以寫入的方式打開檔案,若檔案不存在則建立
  • w+:以讀取和寫入的方式打開檔案,若檔案不存在則建立

檔案與目錄的基本操作

  1. 檔案的打開
    1. 同步打開:

      fs.openSync;

    2. 異步打開:
  2. 擷取檔案的資訊fs.Stats
    1. stats.isDirector([path])

      :判斷是否為目錄
    2. stats.isDirector([path])

      :判斷是否是檔案
  3. 用異步的方式讀取檔案中指定的資料
  4. 建立目錄:

    fs.mkdir(path,callback)

  5. 删除目錄:

    fs.rmdir(path,callback)

  6. 删除檔案:

    fs.unlink(path,callback)

繼續閱讀