nodejs的良好依赖注入模块
Posted
技术标签:
【中文标题】nodejs的良好依赖注入模块【英文标题】:good dependancy injection module for nodejs 【发布时间】:2015-02-08 21:59:34 【问题描述】:我正在寻找一个好的nodejs依赖注入模块, 我实现了一个特殊的记录器模块,并且无论我在文件夹层次结构中的位置如何,我都希望能够获取记录器的实例。 我不能简单地使用 requirejs,因为使用 requirejs 我需要模块的完整相对路径。 有没有合适的标准解决方案?
【问题讨论】:
【参考方案1】:我还建议遵循 Node.js 约定。
可以将location of the current file 存储在例如使用dirname
或filename
的主文件中(假设在项目的根目录)。然后,将其存储在global
variable 中,可以在您的应用程序中的任何位置访问它。不过我觉得它很脏。
【讨论】:
【参考方案2】:我仍然建议您使用 require()
方式,因为它是 node.js
的原生方式
不过,如果您不想为相对路径烦恼 - 您的模块应该位于项目内的 node_modules
文件夹中。为此,您可以通过npm
安装它。
但是在安装它之前,你当然应该在某个地方发布它。
我建议您将此作为练习:
为您的模块创建一个存储库(github 用于公共存储库,bitbucket 用于私有存储库)
为您的模块创建一个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
【讨论】:
以上是关于nodejs的良好依赖注入模块的主要内容,如果未能解决你的问题,请参考以下文章
手动TypeScript角度依赖注入在ChangeDetectorRef上失败
.NET Core Web API使用依赖注入(DI)进行服务配置一