繁体   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