gpt4 book ai didi

Node.js:全局声明node_modules,还是根据需要在本地声明?

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:22 26 4
gpt4 key购买 nike

node_modules 依赖项应该在应用程序代码开始时全局声明,还是在需要它们时本地声明?我想知道是否有最佳实践。

例如,我使用 index.js 引导我的应用程序,并在需要时需要脚本。例如,我的 security.js 模块可能需要使用 node_hash。现在,我应该在 security.js 中要求它为

var node_hash = require('node_hash')

或者在 index.js 中全局要求它,以便它可用于 security.js(以及其他所有内容)?

最佳答案

在 Node 中,并没有真正的“全局要求”的概念。当您将一个模块添加到另一个模块中时,所需的模块在您需要它的模块中可用。如果您想在其他地方使用该所需的模块,则需要再次要求它(或以某种方式将返回的对象传递到其他模块中)。

因此,正确的(唯一的、真正的)答案是在需要的地方要求它们。请注意, Node 使用 require cache ,因此 required 模块只被真正评估一次,并且对于同一文件的多次 require 会返回相同的对象。

[编辑] 分配给没有 var 声明的变量会将其分配给 global 范围(例如,可以通过 Node 中的 global 访问它)。你很少愿意这样做;这不仅使得确定变量的声明位置变得困难,而且还可能导致命名空间问题。

关于Node.js:全局声明node_modules,还是根据需要在本地声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com