为什么要在每个文件上都需要所有模块?

用户名

我经常看到的默认方法是:

// repeat this in all files
var express  = require('express');
var mongoose = require('mongoose');
var async    = require('async');
...

但是在我的NodeJS应用程序中,我正在这样做:

// include this only on the server file
_express  = require('express');
_mongoose = require('mongoose');
_async    = require('async');
...

我更喜欢使用_前缀来标识库/模块,我不使用它,var因为我不想在应用程序的每个文件上重复所有软件包的需求/设置。

这样,我require()只能在server.js文件上一次模块化,并在任何地方使用它。

这是一个坏主意吗?

乔丹尼亚斯

模块被缓存在nodejs中。最佳做法是在需要时提出要求。

从node.js文档中:

第一次加载模块后将对其进行缓存。这意味着(除其他事项外)每次对require('foo')的调用都将获得完全相同的返回对象(如果它将解析为同一文件)。

多次调用require('foo')可能不会导致模块代码多次执行。这是一个重要功能。使用它,可以返回“部分完成”的对象,从而即使在可能导致循环的情况下也可以加载传递依赖。

http://nodejs.org/api/modules.html

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么要在每个文件上都需要所有模块?

来自分类Dev

所有clickonce文件都需要在清单中吗?

来自分类Dev

为什么每个$ digest周期都解析所有绑定?

来自分类Dev

所有UNIX系统上都存在什么文件?

来自分类Dev

为什么要在Python中将所有字符串都转换为常量?

来自分类Dev

为什么Openstack Autopilot在每个节点上都需要两个磁盘?

来自分类Dev

为什么我们在python中的每个方法上都需要相应的类函数?

来自分类Dev

为什么HTML5应用程序缓存的每个文件都需要清单属性?

来自分类Dev

为什么每个sudo执行的可执行文件都需要sudo?

来自分类Dev

为什么需要在每个存储过程之前包括连接文件

来自分类Dev

我是否需要在每个项目目录中安装所有模块,如 server.js、express.js、andejs?

来自分类Dev

为什么需要在nodejs中使用path模块?

来自分类Dev

为什么我们需要在Kafka Consumer Configuration中添加所有Zookeeper节点

来自分类Dev

为什么要在C ++中将所有方法标记为虚拟方法?需要权衡吗?

来自分类Dev

为什么需要在c#中使用所有属性而不是公共实例变量?

来自分类Dev

为什么网络上的所有计算机都具有相同的MAC地址?

来自分类Dev

为什么所有CSS文件都放在一个文件夹中?

来自分类Dev

为什么有时需要在docker上运行nginx?

来自分类Dev

为什么需要在父目录上具有执行权限才能重命名文件

来自分类Dev

为什么有时我们需要在根目录下挂载那些文件?

来自分类Dev

为什么在台式机上网络上的每个会话/标签上都需要幅度sdk再生设备ID?

来自分类Dev

为什么我的所有页面都无法在标签栏上打开?

来自分类Dev

为什么不是所有例外都建立在Elixir的同一模型上?

来自分类Dev

为什么`find -xdev`在所有分区上都显示目录?

来自分类Dev

为什么主页上的所有内容都超出了边框?

来自分类Dev

为什么不是所有例外都建立在Elixir的同一模型上?

来自分类Dev

为什么.click(function()在每个元素上都起作用?

来自分类Dev

在Linux中,为什么所有进程都存在全局/ dev / stdin文件?

来自分类Dev

为什么主目录中的所有文件和目录都显示在桌面中?

Related 相关文章

  1. 1

    为什么要在每个文件上都需要所有模块?

  2. 2

    所有clickonce文件都需要在清单中吗?

  3. 3

    为什么每个$ digest周期都解析所有绑定?

  4. 4

    所有UNIX系统上都存在什么文件?

  5. 5

    为什么要在Python中将所有字符串都转换为常量?

  6. 6

    为什么Openstack Autopilot在每个节点上都需要两个磁盘?

  7. 7

    为什么我们在python中的每个方法上都需要相应的类函数?

  8. 8

    为什么HTML5应用程序缓存的每个文件都需要清单属性?

  9. 9

    为什么每个sudo执行的可执行文件都需要sudo?

  10. 10

    为什么需要在每个存储过程之前包括连接文件

  11. 11

    我是否需要在每个项目目录中安装所有模块,如 server.js、express.js、andejs?

  12. 12

    为什么需要在nodejs中使用path模块?

  13. 13

    为什么我们需要在Kafka Consumer Configuration中添加所有Zookeeper节点

  14. 14

    为什么要在C ++中将所有方法标记为虚拟方法?需要权衡吗?

  15. 15

    为什么需要在c#中使用所有属性而不是公共实例变量?

  16. 16

    为什么网络上的所有计算机都具有相同的MAC地址?

  17. 17

    为什么所有CSS文件都放在一个文件夹中?

  18. 18

    为什么有时需要在docker上运行nginx?

  19. 19

    为什么需要在父目录上具有执行权限才能重命名文件

  20. 20

    为什么有时我们需要在根目录下挂载那些文件?

  21. 21

    为什么在台式机上网络上的每个会话/标签上都需要幅度sdk再生设备ID?

  22. 22

    为什么我的所有页面都无法在标签栏上打开?

  23. 23

    为什么不是所有例外都建立在Elixir的同一模型上?

  24. 24

    为什么`find -xdev`在所有分区上都显示目录?

  25. 25

    为什么主页上的所有内容都超出了边框?

  26. 26

    为什么不是所有例外都建立在Elixir的同一模型上?

  27. 27

    为什么.click(function()在每个元素上都起作用?

  28. 28

    在Linux中,为什么所有进程都存在全局/ dev / stdin文件?

  29. 29

    为什么主目录中的所有文件和目录都显示在桌面中?

热门标签

归档