W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
Node 使用CommonJS 的模塊系統(tǒng)。 Node 同時也擁有一個簡單的模塊加載系統(tǒng)。在Node 的世界里,文件和模塊是一一對應(yīng)的,比如,以下的程序 foo.js 會向大家演示加載同一目錄下的circle.js 模塊。
The contents of foo.js: foo.js 的代碼:
var circle = require('./circle');
console.log( 'The area of a circle of radius 4 is '
+ circle.area(4));
The contents of circle.js: cirle.js 的代碼:
var PI = 3.14;
exports.area = function (r) {
return PI * r * r;
};
exports.circumference = function (r) {
return 2 * PI * r;
};
模塊circle.js 有兩個方法area()和circumference()。為了使其對外可見,將其導(dǎo)出到一個特殊的對象exprots(還 可以用this 來替代exports)。此模塊中的本地變量是私有的。在這個例子中,PI 便是circle 模塊的似有變量,puts() 方法則是引用自系統(tǒng)自帶模塊'sys'。沒有'./'前綴的模塊都是寫內(nèi)建的。我們將會詳細(xì)講解這個特性。
使用'./'前綴加載的模塊必須和加載模塊的文件位于同一文件夾下,所以將circle.js 和foo.js 放在同一目錄下。 如果不用'./'前綴,比如require('assert'),那么則會在require.paths 數(shù)組指定的路徑下尋找,require.paths 在我的機(jī) 器上輸出如下:
[ '/home/ryan/.node_libraries' ] [ '/home/ryan/.node_libraries' ] 所以當(dāng)呼叫require('assert')是,系統(tǒng)會沿著如下路徑尋找該模塊:
有'.node'后綴的模塊是Node 系統(tǒng)的二進(jìn)制模塊:可以參考'Addons'來得到更多信息。'index.js'允許我們把一個模塊 作為一個目錄打包。
require.paths 可以在運(yùn)行時修改或者在類UNIX 系統(tǒng)下通過修改NODE_PATH 環(huán)境變量來達(dá)到同樣的目的。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: