我在哪里放置模块化逻辑?

时间:2013-10-10 17:33:56

标签: node.js express

我正在使用Node和Express,我有一个非常初学的问题。事实上,它是如此基本,以至于我无法想出它的标题。我正在编写一个模块化的逻辑片段。它涉及一些javascript文件,我想将它们放在一个目录中。当我访问我的网络应用程序时,将从routes / index.js访问此代码。我想要像

这样的东西
var foo = require('???/logic');

然后当有人加载页面时我会打电话

foo.getBar(); 

然后将它返回的内容分配给jade模板中使用的变量

所以我的问题是1.我应该在哪里放置模块化代码目录? node_modules?通常,这听起来像设计快递应用程序的正确方法吗?

1 个答案:

答案 0 :(得分:0)

根据我们所讨论的代码数量从下面的结构中进行选择。

答:单个.js文件中的单个CommonJS模块

  • 您可以导出函数,构造函数,属性
  • 如果你有30个属性导出或超过X行代码(对我来说X是300ish,对于其他人他们可以用500ish),毕业到下一个选项

B:CommonJS模块目录,包含my-module / index.js和其他支持的.js文件

  • 其他模块可能需要使用require('./my-module')而不知道或关心my-module是1 .js文件还是目录中的许多文件
  • 随着逻辑的增长使用此变体
  • 松耦合。高凝聚力。

C:将你的逻辑放在它自己的npm模块

  • 这使得它可以与社区和您的内部项目共享
  • 你越了解这个过程和工具越熟悉,越有可能跳过 A B 并且只能制作独立的npm模块