1

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

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

我知道它工作得很好,但如果我这样做会被认为是一种不好的做法吗?

4

2 回答 2

4

当然,您可以将代码放在项目中任何您想要的位置,以下是我不将应用程序代码放在该文件夹中的几个原因:

  1. 我通常从 Git 源存储库中排除该文件夹(因为可以重新创建内容)
  2. 我将该node_modules文件夹视为只读的第三方引用,这些引用不在我的控制范围内,并且来自其他地方,并且假设 NPM 存储库当时可用,我可以轻松地重新创建这些引用。
  3. 我宁愿在您的示例中调用一个顶级文件夹models,而不是将它埋在我没有编写的代码中。
  4. models文件夹不与顶级文件夹中的任何其他内容冲突。

唯一的例外是共享的私有包......但由于它们是共享的,我不会将它们视为我将作为应用程序的一部分进行编辑的代码。它们将作为 NPM 流程的一部分安装。

举个例子,我现在正在做的项目的结构是这样的:

+ public
    - JavaScript
    - styles
+ models
+ views
+ routes
+ services
+ node_modules
于 2013-12-02T11:54:47.230 回答
0

虽然是一个主观的答案,但我不会认为这是一种不好的做法。事实上,我通常以这种方式将一些代码分成模块,这是我不希望在 npm 上的,也不值得在 github 上放置一个私有 repo。但是,将它们当作“已发布的模块”使用是很有用的。

于 2013-12-02T11:13:40.860 回答