中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中的模塊化方法是什么

發布時間:2022-01-12 18:06:39 來源:億速云 閱讀:139 作者:柒染 欄目:開發技術

今天給大家介紹一下Node.js中的模塊化方法是什么。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

一、模塊化的基本概念

1、什么是模塊化

模塊化是指解決一個復雜問題時,自頂向下逐層把系統劃分成若干模塊的過程。對于整個系統來說,模塊是可組合、分解和更換的單元。

編程領域中的模塊化

就是遵守固定的規則,把一個大文件拆成獨立并互相依賴的多個小模塊。 把代碼進行模塊化拆分的好處:

  • 提高了代碼的復用性

  • 提高了代碼的可維護性

  • 可以實現按需加載

2、模塊化規范

模塊化規范就是對代碼進行模塊化的拆分與組合時,需要遵守的那些規則。

例如:

  • 使用什么樣的語法格式來引用模塊

  • 在模塊中使用什么樣的語法格式向外暴露成員

模塊化規范的好處

大家都遵守同樣的模塊化規范寫代碼,降低了溝通的成本,極大方便了各個模塊之間的相互調用,利人利己。

二、Node.js 中的模塊化

1、Node.js 中的模塊化分類

Node.js 中根據模塊來源的不同,將模塊分為了 3 大類,分別是:

內置模塊(內置模塊是由 Node.js 官方提供的,例如 fs、path、http 等)  

自定義模塊(用戶創建的每個 .js 文件,都是自定義模塊)  

第三方模塊(由第三方開發出來的模塊,并非官方提供的內置模塊,也不是用戶創建的自定義模塊,使用前需要先下載)

2、加載模塊

使用 require() 方法,可以加載需要的內置模塊、用戶自定義模塊、第三方模塊進行使用。

// 1、加載內置fs模塊
const fs = require('fs')
//2、加載自定義模塊
const tre = require('./tre.js')
//3、加載第三方模塊
const moment=require('moment')

3、向外共享模塊作用域中的成員

module.exports 對象:

在每個 .js 自定義模塊中都有一個 module 對象,它里面存儲了和當前模塊有關的信息。

在自定義模塊中,可以使用 module.exports 對象,將模塊內的成員共享出去,供外界使用。

外界用 require() 方法導入自定義模塊時,得到的就是 module.exports 所指向的對象。

4、Node.js 中的模塊化規范

(1)什么是CommonJS模塊規范
  • CommonJS 是一套代碼規范, 目的是為了構建 JavaScript 在瀏覽器之外的生態系統 (服務器端, 桌面端).

  • 通過該規范使JavaScript具備開發復雜應用、跨平臺的能力

Node.js 遵循了 CommonJS 模塊化規范,CommonJS 規定了模塊的特性和各模塊之間如何相互依賴。

(2)CommonJS 模塊化規范
CommonJS模塊規范化的內容
導出模塊:moudle.exports 導出模塊
導入模塊:require('模塊名稱')

CommonJS 規定:

1.每個模塊內部,module 變量代表當前模塊。

2.module 變量是一個對象,它的 exports 屬性(即 module.exports)是對外的接口。

3.加載某個模塊,其實是加載該模塊的 module.exports 屬性。require() 方法用于加載模塊。

(3)每個導出的模塊都有一個moudle對象,該對象包含的屬性有:
moudle.exports:表示當前模塊對外輸出的接口,其他模塊引用的是moudle.exports導出的變量
exports變量:指向moudle.exports,為了操作的方便,它不能直接指向一個值

(4)使用require導入模塊:導入并執行一個JavaScript文件,返回的是一個exports對象,若沒有找到相應的對象就報錯    

  • 模塊輸出是一個函數,則該函數的輸出接口不能用exports變量來導出必須用戶moudle.exports導出

  • 加載規則:

A、用來加載js文件,默認的文件擴展名為.js

B、根據參數的不同格式,去不同路徑下查找相應的js文件

'./(../)':表示加載路徑是相對路徑              

'/':表示加載路徑是絕對路徑              

既不是'./(../)'也不是'/':表示加載的模式是node的核心模塊,在node安裝路徑的node_modules中              

  • require的內部處理的流程

require -->module.exports-->moudle._load 

三、npm 與 包

1、包的概念

什么是包?

Node.js 中的第三方模塊又叫做包。 就像電腦和計算機指的是相同的東西,第三方模塊和包指的是同一個概念,只不過叫法不同。

包的來源?

不同于 Node.js 中的內置模塊與自定義模塊,包是由第三方個人或團隊開發出來的,免費供所有人使用。 注意:Node.js 中的包都是免費且開源的,不需要付費即可免費下載使用。

為什么需要包?

由于 Node.js 的內置模塊僅提供了一些底層的 API,導致在基于內置模塊進行項目開發的時,效率很低。 包是基于內置模塊封裝出來的,提供了更高級、更方便的 API,極大的提高了開發效率。 包和內置模塊之間的關系,類似于 jQuery 和 瀏覽器內置 API 之間的關系。

2、包的安裝與卸載

npm 包的安裝——

npm install 包的完整名稱

npm 包的卸載——

npm uninstall 包的完整名稱

安裝指定保本的包——

默認情況下,使用 npm install 命令安裝包的時候,會自動安裝最新版本的包。如果需要安裝指定版本的包,可以在包名之后,通過 @ 符號指定具體的版本,例如

npm install moment@2.12.1

3、包管理配置文件

npm 規定,在項目根目錄中,必須提供一個叫做 package.json 的包管理配置文件。用來記錄與項目有關的一些配置信息。例如:

  • 項目的名稱、版本號、描述等

  • 項目中都用到了哪些包

  • 哪些包只在開發期間會用到

  • 哪些包在開發和部署時都需要用到

以上就是Node.js中的模塊化方法是什么的全部內容了,更多與Node.js中的模塊化方法是什么相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常宁市| 和平区| 阜平县| 卢湾区| 都昌县| 梨树县| 华阴市| 宁都县| 徐水县| 新干县| 西藏| 常宁市| 高雄县| 建宁县| 崇州市| 乌审旗| 池州市| 略阳县| 宜兰市| 顺平县| 磐石市| 五原县| 固安县| 鄯善县| 和政县| 婺源县| 苏州市| 出国| 水城县| 东安县| 原平市| 元朗区| 北碚区| 九江县| 和硕县| 诏安县| 肃北| 阜阳市| 黔东| 东平县| 德格县|