【问题标题】:good dependancy injection module for nodejsnodejs的良好依赖注入模块
【发布时间】:2015-02-08 21:59:34
【问题描述】:

我正在寻找一个好的nodejs依赖注入模块, 我实现了一个特殊的记录器模块,并且无论我在文件夹层次结构中的位置如何,我都希望能够获取记录器的实例。 我不能简单地使用 requirejs,因为使用 requirejs 我需要模块的完整相对路径。 有没有合适的标准解决方案?

【问题讨论】:

    标签: node.js


    【解决方案1】:

    我还建议遵循 Node.js 约定。

    可以将location of the current file 存储在例如使用dirnamefilename 的主文件中(假设在项目的根目录)。然后,将其存储在global variable 中,可以在您的应用程序中的任何位置访问它。不过我觉得它很脏。

    【讨论】:

      【解决方案2】:

      我仍然建议您使用 require() 方式,因为它是 node.js 的原生方式

      不过,如果您不想为相对路径烦恼 - 您的模块应该位于项目内的 node_modules 文件夹中。为此,您可以通过npm 安装它。

      但是在安装它之前,你当然应该在某个地方发布它。

      我建议您将此作为练习:

      1. 为您的模块创建一个存储库(github 用于公共存储库,bitbucket 用于私有存储库)

      2. 为您的模块创建一个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": {
            }
        }
        
      3. 像这样将此模块的依赖项添加到您的主 package.json

        "your-module": "git+ssh://git@bitbucket.org:username/your-module.git#1.1.0",
        
      4. 运行npm install

      5. 利润

      【讨论】:

        猜你喜欢
        • 2018-12-28
        • 2011-06-02
        • 2011-09-22
        • 2015-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多