提前退出加载节点模块而不停止进程

我有一个required的模块,但我暂时不想在模块中运行代码。 我可以将其注释掉,但是这让我想知道是否有一种方法可以从加载模块中尽早退出/返回。

是否有内置的方式来停止通过模块的代码执行stream程,并“提前”返回?

其实,有一种内置的方式。 每个节点模块都被加载到模块函数包装器中,并且该模块正在作为该函数的主体执行。 所以你可以在模块的任何地方使用普通的return来阻止代码的执行。

节点模块在像这样的函数包装中被执行:

 (function (exports, require, module, __filename, __dirname, process, global) { // module code is here // a return statement skips executing any more code in your module after that statement return; }); 

因此,你可以在模块的任何地方使用return语句,它将从模块包装函数中返回,跳过模块中的其余代码。


只是使用if语句或者在你的模块中使代码更加自我描述,而不是让人想知道为什么在模块中间有一个多余的return语句,这可能是更简洁的代码:

 // this code temporarily removed from being executed if (someBoolean) { // your module code here } 

或者,如果您打算将其删除一段时间,则只需注释大量的代码即可。

没有内置的方式,但是您可以使用以下解决方法。 将整个模块封装在一个IIFE中,并使用return语句:

 (function() { // some code // stop execution here return; // some code })()