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

溫馨提示×

溫馨提示×

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

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

nodejs模塊化有什么作用

發布時間:2021-11-23 16:12:12 來源:億速云 閱讀:187 作者:iii 欄目:web開發

本篇內容主要講解“nodejs模塊化有什么作用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“nodejs模塊化有什么作用”吧!

nodejs模塊化的好處:1、代碼解耦,可以提高代碼的復用性;2、可以提高代碼的可維護性;3、可以提高代碼的可讀性;4、可以實現按需加載;5、可以解決命名沖突;6、方便管理依賴。

nodejs模塊化有什么作用

本教程操作環境:windows7系統、nodejs 12.19.0版,DELL G3電腦。

什么是模塊化?

在編程領域中,模塊化就是遵守固定的規則,把一個大文件拆分成獨立并且相互依賴的多個小模塊.通俗來講就是一個js文件可以使用另一個js文件中的數據.

模塊化有什么好處?

1、代碼解耦,可以提高代碼的復用性

2、可以提高代碼的可維護性

3、可以提高代碼的可讀性

4、可以實現按需加載

5、可以解決命名沖突

6、方便管理依賴

模塊化的產生也帶來了模塊作用域,同函數作用域相似,在自定義模塊中定義的變量、方法等,只能在當前作用域內被訪問,這種訪問限制,有效的解決了變量污染的問題。

模塊規范

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

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

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

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

模塊規范種類:

  • CommonJS 規范:nodejs中遵守的就是commonjs規范。

  • ES6 模塊化規范:(前后端通用的模塊化規范;Node.js、Vue、React 中都能使用!)

  • CMD 和 AMD 模塊化規范(較少使用): CMD--sea.js, AMD-require.js

  • UMD 叫做通用模塊定義規范(Universal Module Definition),它可以通過運行時或者編譯時讓同一個代碼模塊在使用 CommonJs、CMD 甚至是 AMD 的項目中運行。它沒有自己專有的規范,是集結了 CommonJs、CMD、AMD 的規范于一身。

    區別:

    1. 對于依賴的模塊,AMD 是提前執行,CMD 是延遲執行。

    2. CMD 推崇依賴就近,AMD 推崇依賴前置。

nodejs模塊分類

  • 內置模塊 --- fs(文件系統模塊).path(路徑模塊).http(網絡操作模塊)...

const fs = require("fs"); //node提供的基礎模塊,可以直接導入使用
  • 自定義模塊 --- 用戶自己創建的.js文件

const m = require("./js文件名");//注意其中是相對路徑,后綴名.js可加可不加
  • 第三方模塊 --- 由第三方個人或團隊開發出來的模塊,通常叫做,使用前需要下載導入

const moment = require('moment');// 使用前需要通過npm i moment 命令安裝該包

模塊的導入導出

導入

使用require()方法加載模塊

注意:使用require方法加載其他模塊時,會執行被加載模塊中的代碼

導出

  • 在每個自定義模塊中都有一個module對象,它里面存儲了和當前模塊有關的信息,其中一個屬性exports可以將模塊成員暴露,供外界使用.加載某個模塊時得到的就是module.exports這個屬性指向的一個空對象.

  • 若想使用該模塊中的數據,可以向module.exports這個屬性中添加屬性值供外界使用

  • 為了簡化向外共享成員的代碼,node提供了exports對象.默認情況下,exports和module.exports指向同一個對象.

注意: 使用require()方法導入模塊時,導入的結果永遠以module.exports指向的對象為準

exports和module.exports的使用誤區

exports = {
    username: 'ls',
    gender: '男'
}
module.exports = exports;
module.exports.age = '20';
// 導入后的結果為 {username:'ls',gender:'男',age:'20'}
 
exports = {
    username: 'ls',
    gender: '男'
}
module.exports.age = '20';
module.exports = exports;
// 導入后的結果為 {username:'ls',gender:'男'}
 
 
exports = {
    username: 'ls',
    gender: '男'
}
exports = module.exports;
module.exports.age = '20';
// 導入后的結果為 {age:'20'}

所以使用時盡量只使用其中一個方法,避免造成不必要的麻煩

到此,相信大家對“nodejs模塊化有什么作用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

尖扎县| 巴里| 剑河县| 夹江县| 当雄县| 临朐县| 澄城县| 湘潭县| 永济市| 朝阳市| 六盘水市| 嘉兴市| 鄂托克前旗| 贡觉县| 洪泽县| 兴宁市| 阿瓦提县| 新丰县| 财经| 汾西县| 武汉市| 和静县| 手游| 蒙城县| 调兵山市| 闽侯县| 辽宁省| 寿宁县| 朝阳市| 搜索| 吴桥县| 宁城县| 杭锦后旗| 鲜城| 金堂县| 资溪县| 抚顺市| 广平县| 安龙县| 延寿县| 田东县|