在nodejs中,模組化是指把一個大檔案拆分成獨立且互相依賴的多個小模組,將每個js檔案被認為單獨的一個模組;模組之間是互相不可見的,如果一個模組需要使用另一個模組,則需要使用指定的語法來引入模組,並且只能引入模組所暴露的內容,語法為「const 變數名稱= require('模組的路徑');」。
本文操作環境:Windows10系統、nodejs 12.19.0版、Dell G3電腦。
概念
#背景:在團隊協作中,不同成員會獨立寫自己負責的程式碼,例如A負責a.js,B 負責b.js. 如果a.js和b.js定義了同一個變量,那麼在使用該兩個檔案時,會導致變數同名而報錯的情況。即全域變數污染。解決->nodejs模組化
概念:nodejs中的模組化是指將每個js檔案會被認為單獨一個的模組。模組之間是互相不可見的。如果一個模組需要使用另一個模組,那麼需要透過指定語法來引入要使用的模組,而且只能使用引入模組所暴露的內容。
模組化就是遵守固定的規則,把一個大檔案拆分成獨立並且相互依賴的多個小模組.通俗來講就是一個js檔案可以使用另一個js檔案中的資料.
語法:包含引入和揭露
引入模組
const 变量名 = require('模块的路径');
揭露語法(以下語法2選1)
模組內部:
1、多次暴露 module.exports.属性名1 = 数据1; module.exports.属性名2= 数据2; 2、一次性暴露完 module.exports ={ 属性名1:数据1, 属性名:2数据2, }
模組路徑細節
./:目前目錄
../:目前目錄的上一層目錄
./下一層目錄/
引入模組時可以省略.js後綴
引入nodejs本身模組或npm下載的套件時,不用寫路徑,直接寫模組名稱
1、引入上一级目录下的a.js模块 let 变量名= require('./../a'); 2、引入下一级目录routes下的b.js模块 let 变量名= require('./routes/b'); 3、引入npm下载的jQuery模块 let 变量名= require('jquery');
#擴充知識:
模組化有什麼好處?
1.可以提高程式碼的複用性
2.可以提高程式碼的可維護性
#3.可以實作按需載入(學習vue時會十分明顯)
模組化的產生也帶來了模組作用域,同函數作用域相似,在自訂模組中定義的變數.方法等,只能在目前作用域內被存取,這種訪問限制,有效的解決了變數污染的問題.
推薦學習:《nodejs影片教學》
以上是nodejs中什麼是模組化的詳細內容。更多資訊請關注PHP中文網其他相關文章!