簡體   English   中英

module.exports = { fn } 是否與exports.fn = fn 相同

[英]Is module.exports = { fn } same as exports.fn = fn

對於作業測試,我需要創建這樣的庫:

// do-it.js
function doIt(smth) {}

module.exports = {
    doIt,
};

但我正在使用 typescript 和編譯的 do-it.ts 文件如下所示:

// do-it.js when compiled from do-it.ts
exports.__esModule = true;
exports.doIt= exports.another = void 0;

function doIt(smth) {}
exports.doIt = doIt;

function another() {}
exports.another= another;

這兩個示例的導出是否相同?

粗略地說,是的; 當然,由此產生的出口是相同的。

我的意思是,如果你這樣做了:

module.exports = {
    doIt,
};

后來做了

module.exports = {
    doSomethingElse,
};

你會遇到問題,因為第二個完全替換了之前的exports object。

您根本不需要創建 object,它是在調用模塊之前為您創建的。 所以真的,你可以做

exports.doIt = doIt;

接着

exports.doSomethingElse = doSomethingElse;

首先。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM