這篇文章帶給大家的內容是關於nodejs模組的簡單理解(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
這個小短文用來快速理解 nodejs 模組(也就是 CommonJS 規範)。
本質
module.exports 用來暴露一個值,這個值預設是對象,也可以覆寫為原始值。
嘗試在一個檔案中直接log 出module 的值,可以得到:
{ id: '.', exports: {}, // 默认空对象 parent: null, filename: '/Users/a10.12/webpack-learning/src/module.js', loaded: false, children: [], paths: [ '...' ] }
你需要透過修改module 的exports 屬性來輸出你需要輸出的東西,而 require 用來導入一個模組,module.exports 的值是什麼,require 拿到的就是什麼。
使用
例如有module.js
module.exports = { s: 2, }
在index.js 中引入
let v = require('./module.js') console.log(v) // 输出为 { s: 2 }
原始值的情況也一樣
module.exports = 2 let v = require('./module.js') console.log(v) // 输出为 2
因為module.exports 預設是個對象,在輸出對象的時候自然有這麼一種寫法:
module.exports.s = 2
這樣require 得到的也是{ s: 2 }。
簡寫
大概是大佬們覺得module.exports 寫起來太長,於是把exports 引用到了module.exports,所以檢查這兩個東西是否相等時,返回 true:
console.log(exports === module.exports) // true
有了這個特性,在導出物件時能很方便地這麼寫:
exports.s = 2 let v = require('./module.js') console.log(v) // 输出为 2
但是你卻不能這麼寫:
// 这样 exports = 2 // 或这样 exports = { s: 2, } // 都是不可以的 let v = require('./module.js') console.log(v) // 输出为 {}
原因如同上面所說,exports 本來就只是一個對module.exports 的引用,你可以對這個引用的物件添加屬性,但是一旦用上面兩種方法覆寫了exports 對module.exports 的引用,exports 就等於無效了。
最後提醒,如果前面說的看不懂,可能需要加深對ECMAScript 引用值和原始值的理解...
這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的node.js教學影片專欄! ! !
#以上是nodejs模組的簡單理解(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript 不提供任何内存管理操作。相反,内存由 JavaScript VM 通过内存回收过程管理,该过程称为垃圾收集。

vscode自身是支持vue文件组件跳转到定义的,但是支持的力度是非常弱的。我们在vue-cli的配置的下,可以写很多灵活的用法,这样可以提升我们的生产效率。但是正是这些灵活的写法,导致了vscode自身提供的功能无法支持跳转到文件定义。为了兼容这些灵活的写法,提高工作效率,所以写了一个vscode支持vue文件跳转到定义的插件。

Node 19已正式发布,下面本篇文章就来带大家详解了解一下Node.js 19的 6 大特性,希望对大家有所帮助!

选择一个Node的Docker镜像看起来像是一件小事,但是镜像的大小和潜在漏洞可能会对你的CI/CD流程和安全造成重大的影响。那我们如何选择一个最好Node.js Docker镜像呢?

本篇文章给大家整理和分享几个前端文件处理相关的实用工具库,共分成6大类一一介绍给大家,希望对大家有所帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)