1. 程式人生 > >Node中模組和包

Node中模組和包

一、模組和包

概念:模組(Module)和包(Package)是Node.js最重要的支柱。開發一個具有一定規模的程式不可能只用一個檔案,通常需要把各個功能拆分、分裝、然後組合起來。模組正式為了實現這種方式而誕生,在瀏覽器JavaScript中,指令碼模組的拆分和組合通常使用HTML的script標籤來實現,Node.js提供了require函式來呼叫其他模組,而且模組都是基於檔案,機制非常簡單,模組和包的區別是透明的,因此經常不作區分。 

模組

1、什麼是模組

模組和檔案是一一對應的。一個Node.js檔案就是一個模組,這個檔案可能是JavaScript程式碼、JSON或者編譯過的C/C++擴充套件。

var http=require(‘http’),其中http是Node.js的一個核心模組,通過require函式獲取這個模組,然後使用其中的物件. 

2、建立和載入模組

(1)建立模組

Node.js提供了exports和require兩個物件,其中exports是模組的公開介面,require()是從外部獲取一個模組的介面,下面提供了一個例子: 

module.js程式碼:

var name;
exports.setName=function(getName){
    name = getName;
}
exports.setHello=function(){
    console.log('hello'+name);
}

下面的是getModule.js程式碼:

var myModule = require('./module');
myModule.setName('helios');
myModule.setHello();

輸出結果:hellohelios。

1、包的概念

       包是在模組基礎上更深一步的抽象,Node.js的包類似於C/C++的函式庫或者java的類庫,它講某個獨立的功能封裝起來,用於釋出、更新、依賴管理的版本控制。開發了npm來解決包的釋出和獲取需求。 包是由package.json定義的檔案或目錄 我們通過npm install XX 後面的XX就是包 我們可以通過npn init初始化一個包。我們可以把這個包做大然後上傳到nodejs給別人使用。