如何在Node.js中与本地模块共享依赖项?

时间:2019-08-18 14:07:47

标签: node.js

我正在使用一个简单的CLI Node.js应用程序来处理文件。

应用程序结构:

- app.js
- recipes/recipe-one.js
- recipes/recipe-two.js

/ recipes文件夹中的每个文件都是负责处理输入文件的功能。我面临的问题与共享依赖项有关。

所有配方都具有相同的依赖关系,但是,我无法全力以赴在app.js中设置这些依赖关系

每当我这样做:

// app.js
const fs = require('fs');
const Recipe = require('recipes/recipe-one')

并且Recipe依赖于fs-我收到一条错误消息,说未定义fs。

问题:然后如何在一个地方指定依赖项?我想念的是什么?

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

我建议您坚持在单个文件中导入所需模块的传统方法。但这仍然是您可以采取的可行解决方法。

您可以使用 global 关键字定义要在多个文件中使用的模块。 “ app.js”中的代码为:

const fs = require('fs');
global.fs = fs;

在项目中的某个地方,您可以像使用它

global.fs.readFileSync() {...}

,无需导入/要求。您可以了解有关全局here的更多信息。

希望这会有所帮助:)