Node.js:在文件夹结构中放置内部模块的位置?

情况

我经常看到具有以下结构的Node.js应用程序:

常见模式:

  • lib/src/ – 自写的代码
    • index.js – 主要代码
    • 内部模块 …(例如,为这个项目自己写的)
  • node_modules
    • 外部模块 …(例如从另一个项目中获取)
  • package.json

我的问题

我不喜欢这种模式:

  • 觉得不舒服 ,因为require() ing时require() 明确指定内部模块的目录path

     // /lib/index.js var internalMod = require('./internal'); // `require('internal')` (without path) wouldn't work internalMod.doSomething(); 

我的想法

所以我认为将内部模块放置在node_modules文件夹(项目中某处 )也是一个好主意。 所以即使你没有明确指定path, node也能find它们。

例如:

  • src/ – 自写的代码
    • index.js – 主要代码
    • node-modules – 内部
      • 内部模块
  • node_modules – 用于外部
    • 外部模块 …(例如从另一个项目中获取)
  • package.json

我的问题

  1. 我的计划有什么缺点吗?
  2. 有没有其他的想法把内部模块放在文件夹结构中?

感谢您的回答(或评论)。 – 如果有什么不清楚的地方,请发表评论。

也许你可以使用npm link把你的模块放入node_modules中? 请参阅: https : //docs.npmjs.com/cli/link