欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

(三)、node.js的模塊和包

我們做東西不可能把所有的功能都放在一起,那樣會(huì)相互影響,我們需要把他們分門(mén)別類,

成都創(chuàng)新互聯(lián)公司IDC提供業(yè)務(wù):西部信息中心,成都服務(wù)器租用,西部信息中心,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。

讓他們各自執(zhí)行各自的功能,這就是包或者模塊,包和模塊這兩個(gè)概念經(jīng)常地會(huì)用,其實(shí)他倆講的是一個(gè)東西

而在node.js中一個(gè)文件就是一個(gè)包

下面我們就來(lái)具體的講解一下:

Node.js 提供了 exports 和 require 兩個(gè)對(duì)
象,其中 exports 是模塊公開(kāi)的接口,require 用于從外部獲取一個(gè)模塊的接口,即所獲
取模塊的 exports 對(duì)象。
讓我們以一個(gè)例子來(lái)了解模塊。

創(chuàng)建一個(gè)module.js的文件,內(nèi)容如下

var name;

function setName(thyName){
  name = thyName;
};

function sayHello(){
  console.log('Hello ' + name);
};

//導(dǎo)出模塊
exports.setName = setName;
exports.sayHello = sayHello;
再創(chuàng)建一個(gè)文件getmodule.js
//獲取模塊   require('./文件名'),不需要后綴
var myModule = require('./module');

myModule.setName('MyDuoEr');
myModule.sayHello();

運(yùn)行命令

(三)、node.js的模塊和包

這個(gè)例子有點(diǎn)類似于創(chuàng)建一個(gè)對(duì)象,但實(shí)際上和對(duì)象又有本質(zhì)的區(qū)別,因?yàn)?br />require 不會(huì)重復(fù)加載模塊,也就是說(shuō)無(wú)論調(diào)用多少次 require,獲得的模塊都是同一個(gè)。
我們?cè)?getmodule.js 的基礎(chǔ)上稍作修改:

//獲取模塊
var hello1 = require('./module');
hello1.setName('MyDuoEr'); 

var hello2 = require('./module');
hello2.setName('MyDuoEr 2'); 

hello1.sayHello();

 

運(yùn)行命令

(三)、node.js的模塊和包

運(yùn)行后發(fā)現(xiàn)輸出結(jié)果是 Hello MyDuoEr 2,這是因?yàn)樽兞?hello1 和 hello2 指向的是

同一個(gè)實(shí)例,因此 hello1.setName 的結(jié)果被 hello2.setName 覆蓋,最終輸出結(jié)果是
由后者決定的。 

 覆蓋 exports
有時(shí)候我們只是想把一個(gè)對(duì)象封裝到模塊中,例如:

function Hello() {
  var name;
  
  this.setName = function (thyName) {
    name = thyName;
  }; 

  this.sayHello = function () {
    console.log('Hello ' + name);
  };
};


exports.Hello = Hello;
此時(shí)我們?cè)谄渌募行枰ㄟ^(guò) require('./singleobject').Hello 來(lái)獲取
Hello 對(duì)象,這略顯冗余,可以用下面方法稍微簡(jiǎn)化:

function Hello() {
  var name;
  
  this.setName = function(thyName) {
    name = thyName;
  };
  
  this.sayHello = function() {
    console.log('Hello ' + name);
  };
};

module.exports = Hello;

這樣就可以直接獲得這個(gè)對(duì)象了:

var Hello = require('./hello');

hello = new Hello();
hello.setName('MyDuoEr');
hello.sayHello();

注意,模塊接口的唯一變化是使用 module.exports = Hello 代替了 exports.Hello=
Hello。

標(biāo)題名稱:(三)、node.js的模塊和包
網(wǎng)頁(yè)URL:http://chinadenli.net/article24/gojjje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化企業(yè)網(wǎng)站制作網(wǎng)站策劃品牌網(wǎng)站設(shè)計(jì)外貿(mào)建站網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)