- vm.runInNewContext 是否像 eval 一样被视为黑魔法?
require
和读取文件并使用vm
运行它之间是否存在显着的性能差异,如果实现缓存并只想向上下文中添加一些变量,那么底层是否相同?
require
还会做一些其他额外的事情,例如缓存模块。runInNewContext
并不是作为require
或eval
的替代品,而是作为创建沙箱环境的一种方式,您可以在其中安全地运行其他脚本。
缺点是它很慢(需要大约10毫秒来创建)并且占用几兆字节。因此,不要将其用作require
的替代品。
/controllers/blog_controller.js
)并在上下文中包含一些帮助程序,几乎没有性能损失,对吗?(控制器仅加载一次) - Christopher Tarquinivm
更好的解决方案。谢谢! - Christopher Tarquini