Nodejs需要来自外部文件夹

时间:2016-06-21 09:56:40

标签: node.js

我正在开发nodejs上的微服务架构。 我将“核心”功能移到了单独的git存储库中,每个“服务”都将该核心添加为npm依赖。

在服务中我使用核心

require('core/module1');

在这种情况下,nodejs从node_modules获取'core',它可以用于生产但是对于开发我想从外部文件夹而不是node_modules获取'core'。

我的主要想法 - 对'核心'进行更改并立即将结果输入'服务'。

我无法使用NODE_PATH指定外部'core'文件夹,因为我现在已经使用过了。

我找到了使用'app-module-path'模块向Node.js模块搜索路径添加其他目录的解决方案。

if(isDevelopment()){
    require('app-module-path').addPath('path_to_core_folder');
}

这是一个有效的解决方案,但也许你可以建议一些更明确的方法?

我的文件夹结构

- core
    module1

- service1
    -index.js
    -node_modules
      -core

感谢。

2 个答案:

答案 0 :(得分:0)

任何一个都有效。如果您需要(' modulename')并且它存在于您的node_modules文件夹中,它将从那里加载。如果您希望从其他文件夹或主文件夹加载,则需要执行require(' ./ modulename"),这将在当前文件夹中查找。或者,您可以执行require(' ./ my_modules / modulename'),这将适用于子文件夹。

答案 1 :(得分:0)

我会看一下嘲笑模块,它允许您重定向从中加载模块的目录