使用NPM从根目录加载自定义模块

时间:2015-06-04 02:24:19

标签: node.js npm

可能是一个非常简单的答案,但我迷路了。如果我在一个文件中,根目录下面的几个目录有一种方法我可以require ('mylib/module1')在该文件中并让它从根目录搜索'mylib / module1.js'而不是我在哪里的相对路径m使用require语句?

显然,如果我require('underscore') it will just look for it in package.json , but I couldn't find any way to set up a reference in package.json`指向正确的文件夹,例如:

依赖项:{     “mylib / module1”:“。/ mylib / module1.js” }

我确实找到了browser的引用,它允许您映射到客户端文件,但我正在寻找可以在后端工作的东西。

1 个答案:

答案 0 :(得分:0)

在不需要npm支持的情况下执行此操作的一种方法是将Other Windows文件夹重命名为mylib。然后,您可以简单地node_modules

这样做的原因是因为require('module')递归搜索目录结构,直到require查找名为/的文件夹。这个非常简单的机制允许节点具有多个级别的 lib 目录,这些目录可以在多个" local"必要时。例如,您可以使用以下目录结构:

node_modules

主目录中的所有代码都将使用/usr /home /diplosaurus /node_modules module1.js <-------- version 1 /code /node_modules module1.js <-------- version 2 /projectA /node_modules module1.js <------- beta version main.js /projetB main.js 的版本1,但module1目录中的代码将使用版本2,code使用测试版。

这也意味着您可以让npm管理您项目的projectA目录,同时为您的个人库维护一个手动管理的更高级node_modules目录。