在node_module里手动创build一个目录可以吗?
在node_module
手动创build一个目录并放置一些模块可以吗?
例如,我可能想创build一个名为models
node_modules
里面的node_modules
并把我的模型放在那里,所以我可以做
var Person = require("models/person");
我知道它工作正常,但如果我这样做,这被认为是不好的做法?
虽然当然你可以把你的代码放在你的项目的任何地方,这里有几个原因,我不把应用程序代码放在该文件夹中:
- 我通常从Git源代码库中排除该文件夹(因为可以重新创build内容)
- 我把
node_modules
文件夹当作只读的第三方引用,这些只读的第三方引用在我的控制之外,并且是其他地方的源代码,并且我可以很容易地重新创build一些假设当前可用的NPM存储库。 - 我宁愿有一个名为
models
的顶级文件夹,而不是在我没有写的代码中。 -
models
文件夹不会与顶级文件夹中的其他任何内容冲突。
唯一的例外是共享私人包…但是,因为他们是共享的,我不认为他们作为我将作为应用程序的一部分编辑的代码。 它们将作为NPM过程的一部分进行安装。
作为一个例子,我现在正在进行的项目是这样构build的:
+ public - JavaScript - styles + models + views + routes + services + node_modules
虽然是一个主观的答案,但我不认为这是不好的做法。 实际上,我通常以这种方式将代码分成几个模块,我不想在npm上,而且真的不值得在github上进行私人回购。 但是,使用它们就好像它们是“发布的模块”一样有用。