我正在寻找一个好的nodejs依赖注入模块, 我实现了一个特殊的记录器模块,我希望能够获得记录器的实例,无论我在文件夹层次结构中的位置。 我不能简单地使用requirejs,因为使用requirejs我需要模块的完整相对路径。 有标准的合适解决方案吗?
答案 0 :(得分:1)
我仍然建议您使用require()
方式,因为它是node.js
原生的
但是,如果您不想用相对路径打扰自己 - 您的模块应该位于项目内的node_modules
文件夹中。为此,您可以通过npm
安装它。
但在安装之前,你应该将它发布到某个地方。
我建议你把它作为一种做法:
为您的模块创建一个package.json
文件。这是一个例子:
{
"name": "your-module",
"private": true,
"repository": {
"type": "git",
"url": "git@bitbucket.org:username/your-module.git"
},
"main": "index.js",
"version": "1.0.0",
"dependencies": {
}
}
将此模块的依赖项添加到您的主package.json
中
"your-module": "git+ssh://git@bitbucket.org:username/your-module.git#1.1.0",
运行npm install
答案 1 :(得分:1)
我还建议遵循Node.js惯例。
可以使用dirname
或filename
将location of the current file存储在主文件中(假设位于项目的根目录中)。然后,将其存储在global
variable中,即可在应用中随处访问。我发现它很脏。