在node_module里手动创build一个目录可以吗?

node_module手动创build一个目录并放置一些模块可以吗?
例如,我可能想创build一个名为models node_modules里面的node_modules并把我的模型放在那里,所以我可以做

 var Person = require("models/person"); 

我知道它工作正常,但如果我这样做,这被认为是不好的做法?

虽然当然你可以把你的代码放在你的项目的任何地方,这里有几个原因,我不把应用程序代码放在该文件夹中:

  1. 我通常从Git源代码库中排除该文件夹(因为可以重新创build内容)
  2. 我把node_modules文件夹当作只读的第三方引用,这些只读的第三方引用在我的控制之外,并且是其他地方的源代码,并且我可以很容易地重新创build一些假设当前可用的NPM存储库。
  3. 我宁愿有一个名为models的顶级文件夹,而不是在我没有写的代码中。
  4. models文件夹不会与顶级文件夹中的其他任何内容冲突。

唯一的例外是共享私人包…但是,因为他们是共享的,我不认为他们作为我将作为应用程序的一部分编辑的代码。 它们将作为NPM过程的一部分进行安装。

作为一个例子,我现在正在进行的项目是这样构build的:

 + public - JavaScript - styles + models + views + routes + services + node_modules 

虽然是一个主观的答案,但我不认为这是不好的做法。 实际上,我通常以这种方式将代码分成几个模块,我不想在npm上,而且真的不值得在github上进行私人回购。 但是,使用它们就好像它们是“发布的模块”一样有用。