子產品(module)是Node.js應用程式的基本組成部分,檔案和子產品是一一對應的。
上一節用到的 var http=require('http'); 其中http就是Node.js的一個核心子產品。
一些核心子產品:
點選打開連結
建立子產品
//module.js
var name;
export.setName=function(thyName){
name=thyName;
};
exports.sayHello=function(){
console.log('Hello' + name);
};
使用exports對象:
一個子產品檔案中定義的本地變量、函數或者對象隻在該子產品内有效時,需要從外部引用時,使用exports對象。
//getmodule.js
var myModule=require('./module');
myModule.setName('carrot');
myModule.sayHello();
在Node中要引入子產品需要三個步驟:
1.路徑分析
2.檔案定位
3.編譯執行 子產品又分為核心子產品和使用者自己定義的子產品(稱為檔案子產品),核心子產品直接被編譯進了二進制執行檔案,速度最快。
子產品路徑的生成規則: 目前檔案下的node_module目錄,父目錄下的node_module目錄,父目錄下的父目錄下的node_module目錄。
Node還會按照.js .json .node
的次序補足擴充名
小訣竅是,如果是json和node檔案 加上擴充名會更快。
包是在子產品基礎上更深一步的抽象,相似于c++中的函數庫。
我們可以使用npm包管理工具,
安裝: npm 【install】 【package_name】
比如安裝express子產品:
npm install express
安裝完會放置在目前目錄的node_module目錄下