在Node.js中,当你做
时var otherscript = require('otherscript');
它根据需要运行脚本
我想知道是否有办法在不运行脚本的情况下“需要”脚本,以便您可以在以后运行它。
有什么理由不是吗?
答案 0 :(得分:4)
如果您可以编辑'otherscript'(没有其他人使用该脚本),那么您可以简单地将整个代码包含在函数中并将其添加到导出中。 例如:
otherscript:
module.exports = function(){
//original code goes here
};
然后用作:
var otherscript = require('otherscript');
var obj = otherscript();
答案 1 :(得分:2)
当您需要文件或模块时,将缓存该文件/模块的返回。换句话说,它实际上只执行一次,后来对该文件/模块的require()的调用只会返回对完全相同的对象的引用。
一个常见的例子是Mongoose包,其中调用require('mongoose')将返回一个mongoose实例,你可以在其上调用connect()来连接数据库。在程序的不同部分再次调用require('mongoose')将返回具有相同数据库连接的相同实例。