【发布时间】:2015-02-08 21:59:34
【问题描述】:
我正在寻找一个好的nodejs依赖注入模块, 我实现了一个特殊的记录器模块,并且无论我在文件夹层次结构中的位置如何,我都希望能够获取记录器的实例。 我不能简单地使用 requirejs,因为使用 requirejs 我需要模块的完整相对路径。 有没有合适的标准解决方案?
【问题讨论】:
标签: node.js
我正在寻找一个好的nodejs依赖注入模块, 我实现了一个特殊的记录器模块,并且无论我在文件夹层次结构中的位置如何,我都希望能够获取记录器的实例。 我不能简单地使用 requirejs,因为使用 requirejs 我需要模块的完整相对路径。 有没有合适的标准解决方案?
【问题讨论】:
标签: node.js
我还建议遵循 Node.js 约定。
可以将location of the current file 存储在例如使用dirname 或filename 的主文件中(假设在项目的根目录)。然后,将其存储在global variable 中,可以在您的应用程序中的任何位置访问它。不过我觉得它很脏。
【讨论】:
我仍然建议您使用 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
【讨论】: