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

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

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

模塊

分為兩大類

核心模塊

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

文件模塊

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

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

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

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

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

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

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

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

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

}

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

exports:該對(duì)象將變量或函數(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ù)類型的值是相互獨(dú)立的,所以a++后,b不發(fā)生改變

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

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

此時(shí)再看到引用變量

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時(shí),就需要往堆內(nèi)存中存放對(duì)象,棧內(nèi)存中存放變量,對(duì)象沒有名字,只有內(nèi)存地址(16進(jìn)制地址),變量的值就是地址值,此時(shí)會(huì)有指針指向堆內(nèi)存中的對(duì)象

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

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

因?yàn)閛bj2改變的是變量,obj2.name改變的是對(duì)象

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

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

module.exports改變的是對(duì)象,exports改變的是變量的值,此時(shí)運(yùn)行就會(huì)報(bào)錯(cuò)

通過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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談NodeJS中require路徑問題

    淺談NodeJS中require路徑問題

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

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

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

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

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

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

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

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

    這篇文章主要介紹了在Ubuntu系統(tǒng)上安裝Ghost博客平臺(tái)的教程,Ghost博客平臺(tái)以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編寫的一個(gè)Node的MySQL驅(qū)動(dòng),需要的朋友可以參考下
    2016-03-03
  • NVM管理Node.js實(shí)現(xiàn)不同版本Angular環(huán)境切換

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

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

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

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

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

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

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

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

最新評(píng)論

彰武县| 伊吾县| 吉林省| 潢川县| 郑州市| 毕节市| 咸阳市| 南康市| 栖霞市| 巢湖市| 广德县| 阿合奇县| 乐东| 呼伦贝尔市| 塔城市| 洛宁县| 平果县| 稻城县| 洱源县| 和平区| 寻乌县| 白水县| 汉沽区| 饶河县| 宝应县| 庄浪县| 阿城市| 漳州市| 威宁| 曲阜市| 桐庐县| 夏河县| 诸暨市| 东明县| 贡觉县| 调兵山市| 阿城市| 都兰县| 淮南市| 龙岩市| 兰考县|