Scope of dependencies when exporting a module in Node.js

jczaplew

When exporting a module that has another dependency, is it best to include that dependency within the module export function or outside of it? I usually see the latter, but it seems like it would be best to keep it in the local scope.

For example:

var foo = require('foo');

module.exports = function(d) {
    return foo(d)/2;
}

vs.

module.exports = function(d) {
    var foo = require('foo');

    return foo(d)/2;
}
Sean Vieira

Only things exposed on module.exports and global can be accessed from other modules in node. Unlike in the browser, var creates a local reference. To quote from node's documentation:

In browsers, the top-level scope is the global scope. That means that in browsers if you're in the global scope var something will define a global variable. In Node this is different. The top-level scope is not the global scope; var something inside a Node module will be local to that module.

The difference between the two versions is therefore minimal - the first incurs a lookup in the local scope, while the other hits require.cache every time the function is invoked. From what I have seen of node code, the former (var someVar = require('something');) seems to be preferred.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

node.js variables from a module

来自分类Dev

node.js crypto module cannot encrypt 16+ characters

来自分类Dev

node.js中的不同module.exports模式

来自分类Dev

Node.js module.exports不导出整个对象

来自分类Dev

Node.js:require()和MODULE_NOT_FOUND

来自分类Dev

在node.js中异步读取文件module.exports

来自分类Dev

node.js Cannot find module './lib/compat'

来自分类Dev

node_modules中的节点js MODULE_NOT_FOUND错误

来自分类Dev

node.js中module.export()的问题

来自分类Dev

Node.js module.exports更改主体变量

来自分类Dev

node.js中module.exports =函数的含义

来自分类Dev

Angular:如何将$ scope变量传递到Node.js服务器。

来自分类Dev

Video orientation issues when exporting with AVMutableVideoComposition

来自分类Dev

module.js:338在node.js中抛出错误

来自分类Dev

What is the express.js equivalent of the node.js http module's "req.url"?

来自分类Dev

node.js unable to serve image when it is being overwritten

来自分类Dev

在Yeoman中使用Node.js的module.exports获得不同的结果

来自分类Dev

运行Iron-Node时module.js找不到模块

来自分类Dev

如何在Node.js中引用module.exports内部的变量

来自分类Dev

如何在Node.js中使用相同文件执行export.module?

来自分类Dev

Node.JS module.exports用于在两个函数之间传递参数?

来自分类Dev

How can I install a Node.js module under $HOME/bin

来自分类Dev

node.js中的Package和Module之间有什么区别

来自分类Dev

SyntaxError:Node.js中Module._compile的输入意外结束

来自分类Dev

导入模块,用于node.js中module.exports的所有方法

来自分类Dev

如何使用Azure Functions和node.js在module.exports之外发出axios请求?

来自分类Dev

您能帮我解决这个Node js错误吗?“ Module_Not_Found”

来自分类Dev

如何在Node.js环境中配置module.paths的内容

来自分类Dev

Node.js:通过module.exports在模块之间共享变量

Related 相关文章

  1. 1

    node.js variables from a module

  2. 2

    node.js crypto module cannot encrypt 16+ characters

  3. 3

    node.js中的不同module.exports模式

  4. 4

    Node.js module.exports不导出整个对象

  5. 5

    Node.js:require()和MODULE_NOT_FOUND

  6. 6

    在node.js中异步读取文件module.exports

  7. 7

    node.js Cannot find module './lib/compat'

  8. 8

    node_modules中的节点js MODULE_NOT_FOUND错误

  9. 9

    node.js中module.export()的问题

  10. 10

    Node.js module.exports更改主体变量

  11. 11

    node.js中module.exports =函数的含义

  12. 12

    Angular:如何将$ scope变量传递到Node.js服务器。

  13. 13

    Video orientation issues when exporting with AVMutableVideoComposition

  14. 14

    module.js:338在node.js中抛出错误

  15. 15

    What is the express.js equivalent of the node.js http module's "req.url"?

  16. 16

    node.js unable to serve image when it is being overwritten

  17. 17

    在Yeoman中使用Node.js的module.exports获得不同的结果

  18. 18

    运行Iron-Node时module.js找不到模块

  19. 19

    如何在Node.js中引用module.exports内部的变量

  20. 20

    如何在Node.js中使用相同文件执行export.module?

  21. 21

    Node.JS module.exports用于在两个函数之间传递参数?

  22. 22

    How can I install a Node.js module under $HOME/bin

  23. 23

    node.js中的Package和Module之间有什么区别

  24. 24

    SyntaxError:Node.js中Module._compile的输入意外结束

  25. 25

    导入模块,用于node.js中module.exports的所有方法

  26. 26

    如何使用Azure Functions和node.js在module.exports之外发出axios请求?

  27. 27

    您能帮我解决这个Node js错误吗?“ Module_Not_Found”

  28. 28

    如何在Node.js环境中配置module.paths的内容

  29. 29

    Node.js:通过module.exports在模块之间共享变量

热门标签

归档