欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

模塊

分為兩大類

核心模塊

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

文件模塊

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

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

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

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

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

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

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

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

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

}

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

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

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

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

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

_filename:當前模塊的完整路徑

console.log(__filename);

_dirname:當前模塊所在文件夾的完整路徑

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)存中進行分析,在存入變量和值后,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);

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

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

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

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

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

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

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

通過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入門教程五:連接數(shù)據(jù)庫的方法分析

    nodejs入門教程五:連接數(shù)據(jù)庫的方法分析

    這篇文章主要介紹了nodejs入門教程之連接數(shù)據(jù)庫的方法,結(jié)合實例形式分析了nodejs連接數(shù)據(jù)庫的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • node將對象轉(zhuǎn)化為query的實現(xiàn)方法

    node將對象轉(zhuǎn)化為query的實現(xiàn)方法

    本文主要介紹了node將對象轉(zhuǎn)化為query的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 詳解Node 定時器

    詳解Node 定時器

    這篇文章主要介紹了Node 定時器的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • NodeJS使用JWT跨域身份驗證方案詳解

    NodeJS使用JWT跨域身份驗證方案詳解

    JWT是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標準,其組成部分為Header、Payload、Signature.Payload部分才是真正的用戶信息,它是用戶信息經(jīng)過加密之后生成的字符串,Header和Signature是安全性相關(guān)的部分,只是為了保證token的安全性
    2023-02-02
  • Nest.js中使用HTTP五種數(shù)據(jù)傳輸方式小結(jié)

    Nest.js中使用HTTP五種數(shù)據(jù)傳輸方式小結(jié)

    本文主要介紹了Nest.js中使用HTTP五種數(shù)據(jù)傳輸方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • nodejs實現(xiàn)用戶登錄路由功能

    nodejs實現(xiàn)用戶登錄路由功能

    這篇文章主要介紹了nodejs中實現(xiàn)用戶登錄路由功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 使用vs code開發(fā)Nodejs程序的使用方法

    使用vs code開發(fā)Nodejs程序的使用方法

    本篇文章主要介紹了使用vs code開發(fā)Nodejs程序的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Node.js開發(fā)靜態(tài)資源服務(wù)器

    Node.js開發(fā)靜態(tài)資源服務(wù)器

    這篇文章主要為大家介紹了Node.js開發(fā)靜態(tài)資源服務(wù)器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 一文帶你了解Node.js進程管理工具PM2

    一文帶你了解Node.js進程管理工具PM2

    Node.js進程管理工具PM2是一個開源的工具,用于管理和監(jiān)控Node.js應(yīng)用程序的運行,它可以幫助您方便地啟動、停止、重啟和監(jiān)視多個Node.js進程,并提供了許多有用的功能,所以本文就和大家一起了解一下PM2,需要的朋友可以參考下
    2023-07-07
  • 詳解Express筆記之動態(tài)渲染HTML(新手入坑)

    詳解Express筆記之動態(tài)渲染HTML(新手入坑)

    這篇文章主要介紹了詳解Express筆記之動態(tài)渲染HTML(新手入坑),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12

最新評論