講到模組,Javascript天生缺少的功能之一,就要提到Common.js了,它的出現是為了讓Javascript擁有更多功能及擴展實用領域,其中定義了一系列的架構和API,包括模組機制、系統、I/O、後端應用...等,讓所有的框架和各種函式庫可以有遵循的規範標準,那模組機制這一塊的規範算是相當成熟了,Node.js的模組機制就是基於它所設計出來的。
Node.js的模組機制不但能讓你載入其他的Javascript程式,還能讓你載入由C/C++寫成的原生模組(Native Module)。我們常用使用這套機制來分割和管理自己的程式碼,也會用來載入第三方的模組來擴充功能,這邊載入模組的方法叫作require(),使用方式如下:
//node.js內建的模組,可以用來建立HTTP伺服器或HTTP的客戶端
var http = require('http');
require()方法可以接受絕對/相對路徑,副檔名的".js"可以省略,若載入模組與檔案是同目錄時,記得要在前綴加上"./" ,若沒加上則會判斷成是引用第三方模組。
那我們要建立模組及使用很簡單,只要將寫好的物件帶入給module.exports,再到其它檔案來引用即可。
//person.js
//建立person模組
module.exports = {
name: 'Jackson',
age: 26,
sayHI: function(){
console.log('I am a F2E developer!');
},
skills: [
'HTML5',
'CSS3',
'Javascript'
]
}
載入並使用模組
//app.js
var person = require('./person');//引用person模組
console.log(person.name);
console.log(person.age);
person.sayHI();
for(var i in person.skills) {
console.log(person.skills[i]);
}
輸出結果