最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.JS中的模塊、exports和module講解

 更新時間:2023年01月11日 14:49:08   作者:花京院嚯  
這篇文章主要介紹了Node.JS中的模塊、exports和module講解,模塊分為兩類一類是核心模塊一類是文件模塊,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

模塊

分為兩大類

核心模塊

  • 由node引擎提供的模塊
  • 核心模塊的標(biāo)識就是模塊的名字
var fs=require("fs");

文件模塊

由用戶自己創(chuàng)建的模塊文件模塊的標(biāo)識就是文件的路徑(絕對路徑、相對路徑),相對路徑用的更多,相對路徑使用.或者…開頭

在node中有一個全局對象global,它的作用和網(wǎng)頁中window類似,在全局中創(chuàng)建的變量都會作為global的屬性保存,在全局中創(chuàng)建的函數(shù)會作為global的方法保存

arguements表示函數(shù)的變量

arguements.callee這個屬性保存的是當(dāng)前執(zhí)行的函數(shù)對象

如果在arguments.callee后面+“”,代表拼串,會把函數(shù)打印出來

console.log(arguments.callee+"");

當(dāng)node在執(zhí)行模塊中的代碼時,它會首先在代碼的最頂部,添加如下代碼

function (exports, require, module, __filename, __dirname) {

在代碼的最底部,添加如下代碼

}

實際上模塊中的代碼都是包裝在一個函數(shù)中執(zhí)行的,并且在函數(shù)執(zhí)行時,同時傳遞進(jìn)了5個實參

exports:該對象將變量或函數(shù)暴露到外部

require:函數(shù),用來引入外部的模塊

module:代表當(dāng)前模塊本身,exports就是module的屬性,既可以使用exports到處,也可以使用module.exports導(dǎo)出

console.log(exports);
console.log(module.exports);
console.log(module.exports==exports);

_filename:當(dāng)前模塊的完整路徑

console.log(__filename);

_dirname:當(dāng)前模塊所在文件夾的完整路徑

console.log(__dirname);

helloModule.js

module.exports={
    name:'豬八戒',
    age:28,
    sayName:function(){
        console.log("我是豬八戒");
    }
}

05.module.js

var hello=require("./helloModule");

console.log(hello.name);
console.log(hello.age);
console.log(hello.sayName);

基本數(shù)據(jù)類型

var a=10;
var b=a;
a++;

console.log("a="+a);
console.log("b="+b);

基本數(shù)據(jù)類型的值是相互獨立的,所以a++后,b不發(fā)生改變

可以從堆棧內(nèi)存中進(jìn)行分析,在存入變量和值后,a的值10和b的值是獨立的,此時a的值變化不影響b的值

引用數(shù)據(jù)類型

此時再看到引用變量

var obj=new Object();
obj.name="孫悟空";
var obj2=obj;
obj2.name="豬八戒";

console.log("obj="+obj.name);
console.log("obj2="+obj2.name);

當(dāng)出現(xiàn)new時,就需要往堆內(nèi)存中存放對象,棧內(nèi)存中存放變量,對象沒有名字,只有內(nèi)存地址(16進(jìn)制地址),變量的值就是地址值,此時會有指針指向堆內(nèi)存中的對象

此時加入obj.name時,會加到堆內(nèi)存中的對象

當(dāng)對obj2設(shè)置為null,對 obj 沒有影響

因為obj2改變的是變量,obj2.name改變的是對象

exports和module.exports的關(guān)系

此時再轉(zhuǎn)回到module.exports和exports

module.exports改變的是對象,exports改變的是變量的值,此時運(yùn)行就會報錯

通過exports只能使用.的方式來向外暴露內(nèi)部變量

exports.xxx=xx;

而module.exports既可以通過.的形式,也可以直接賦值

module.exports.xxx=xx;
//或者
module.exports={...}

通過exports只能使用.的方式來向外暴露內(nèi)部變量

exports.xxx=xx;

而module.exports既可以通過.的形式,也可以直接賦值

module.exports.xxx=xx;
//或者
module.exports={...}

到此這篇關(guān)于Node.JS中的模塊、exports和module講解的文章就介紹到這了,更多相關(guān)node.js模塊、exports和module內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談NodeJS中require路徑問題

    淺談NodeJS中require路徑問題

    學(xué)習(xí)Nodejs也是出于對這個新產(chǎn)物的好奇,而且有兩個重要項目也需要他的支持,所以要好好學(xué)學(xué)這個新語種。在nodejs中,模塊大概可以分為核心模塊和文件模塊。核心模塊是被編譯成二進(jìn)制代碼,引用的時候只需require表示符即可
    2015-05-05
  • 從零學(xué)習(xí)node.js之express入門(六)

    從零學(xué)習(xí)node.js之express入門(六)

    相信大家都知道Express是一個簡潔而靈活的 node.js Web應(yīng)用框架, 提供了一系列強(qiáng)大特性幫助你創(chuàng)建各種 Web 應(yīng)用,和豐富的 HTTP 工具。下面這篇文章主要介紹了node.js中express的入門知識,需要的朋友可以參考下。
    2017-02-02
  • 提高NodeJS中SSL服務(wù)的性能

    提高NodeJS中SSL服務(wù)的性能

    盡管OpenSSL露出驚天漏洞,但是基于SSL的加密協(xié)議還是應(yīng)用得最廣泛的,這只是OpenSSL這個開源軟件本身的問題(詳情: OpenSSL是坑貨寫的),下面這篇文章提供了一些如何在NodeJS中,提高HTTPS性能方面的技巧
    2014-07-07
  • nodejs 圖解express+supervisor+ejs的用法(推薦)

    nodejs 圖解express+supervisor+ejs的用法(推薦)

    下面小編就為大家?guī)硪黄猲odejs 圖解express+supervisor+ejs的用法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 在Ubuntu系統(tǒng)上安裝Ghost博客平臺的教程

    在Ubuntu系統(tǒng)上安裝Ghost博客平臺的教程

    這篇文章主要介紹了在Ubuntu系統(tǒng)上安裝Ghost博客平臺的教程,Ghost博客平臺以Node.js寫成,需要的朋友可以參考下
    2015-06-06
  • 通過node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程

    通過node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程

    這篇文章主要介紹了通過node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程,node-mysql是JavaScript編寫的一個Node的MySQL驅(qū)動,需要的朋友可以參考下
    2016-03-03
  • NVM管理Node.js實現(xiàn)不同版本Angular環(huán)境切換

    NVM管理Node.js實現(xiàn)不同版本Angular環(huán)境切換

    Node Version Manager(NVM)是一個用于管理多個Node.js版本的工具,它允許用戶在同一臺機(jī)器上安裝和使用多個Node.js版本,本文將給大家介紹NVM管理Node.js實現(xiàn)不同版本Angular環(huán)境切換的流程步驟,需要的朋友可以參考下
    2024-05-05
  • Node發(fā)出HTTP POST請求的方法實例小結(jié)

    Node發(fā)出HTTP POST請求的方法實例小結(jié)

    這篇文章主要介紹了Node發(fā)出HTTP POST請求的方法,結(jié)合實例形式總結(jié)分析了三種常用的post請求操作方法,以及相關(guān)庫操作注意事項,需要的朋友可以參考下
    2023-05-05
  • Node+Express搭建HTTPS服務(wù)的實現(xiàn)

    Node+Express搭建HTTPS服務(wù)的實現(xiàn)

    最近開發(fā)需要搭建一個https的服務(wù),正好最近在用nodejs和express,本文章主要介紹了Node+Express搭建HTTPS服務(wù)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • node.js解決客戶端請求數(shù)據(jù)里面中文亂碼的事件方法

    node.js解決客戶端請求數(shù)據(jù)里面中文亂碼的事件方法

    本文主要介紹了node.js解決客戶端請求數(shù)據(jù)里面中文亂碼的事件方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評論

蕲春县| 星座| 体育| 兴业县| 陈巴尔虎旗| 侯马市| 乐平市| 宜宾县| 桐梓县| 如东县| 商河县| 霍林郭勒市| 仪征市| 当涂县| 英山县| 定日县| 涟源市| 盘山县| 泾阳县| 寿宁县| 伊吾县| 宁津县| 阳原县| 怀集县| 图片| 忻州市| 静宁县| 邵武市| 台安县| 增城市| 方山县| 龙江县| 民权县| 卫辉市| 泌阳县| 泊头市| 交城县| 鲁甸县| 佛山市| 浦江县| 葫芦岛市|