簡體   English   中英

我可以在不執行整個所需文件的情況下在 node.js 中要求 function 嗎?

[英]Can I require a function in node.js without executing the entire required file?

這是我第一次在這里提問。 我有以下示例:export.js 文件包含 function 和一些額外的代碼行。 在這種情況下,它只是一個日志:

//exporting.js
function add(a,b) {
return a+b;
}
console.log(add(5,8));
module.exports = add;

import.js 文件需要 function 添加,但是當它執行時,它還會在 exporting.js 中打印日志

//import.js
adds = require('./exporting.js');
console.log(adds(1,2));

所以它最終打印:

13
3

我想知道是否有辦法在不執行所有必需文件的情況下要求 function。

我嘗試將我的 function 放在 object 中,但它仍然打印第一個日志。

我希望你能幫助我,我沒有找到任何相關的東西,對不起,如果這是一個菜鳥問題。

我想知道是否有辦法在不執行所有必需文件的情況下要求 function。

你不能。 使用 CommonJS 模塊,您知道導出內容的唯一方法是運行文件並將其分配給module.exports 如果不運行該文件,就不會導出任何內容。

對此的設計解決方案是將導出的 function 單獨移動到一個單獨的模塊中,該模塊除了導出 function 之外什么都不做。 然后,您可以require()該模塊,而不會產生加載模塊的任何副作用。

暫無
暫無

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

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