我很难找到一个关于为nodejs应用程序编写插件的好教程(不适用于nodejs本身!)。为nodejs应用程序编写插件教程?
我想要做的是,对于某些nodejs应用程序,我想用我写的几个js文件扩展它的功能。
例如,我使用karma runner来运行JS单元测试,但现有的记者并没有很好地满足我们的日志需求。所以我写了自己的记者,并把它放在一个单独的js文件中,例如myreporter.js。到现在使用它,我必须添加myreporter.js成因果报应代码的文件夹,并添加一些行这样到reporter.js业报:
exports.myreporter = require('./reporters/myreporter');
这很好地工作在我的机器上,然而,这可能是CI服务器的一个问题。我不想在我们自己的项目中包含所有的业力代码。我想在服务器上安装公共回购的业力,只在我们的项目中包含myreporter.js,这样我们就不必为每个构建安装修改的业力。我只想安装myreporter.js作为构建业务的插件。
我不确定这是否足够清楚。所以我需要的是为业力编写插件,或为任何现有的nodejs应用程序编写插件。我仍然可以像以前一样使用该应用程序,而我可以使用该插件带来的新功能。
我看到this page约对等依赖关系。这是否意味着,如果我为myreporter.js的package.json文件添加了peerdependency或karma,一旦我安装了myreporter包并运行业力,业力会接受新的记者?
感谢您对这个长问题的任何帮助。
更新:
尝试peerdependency,似乎人缘0.8.6不接我的插件了。看起来从0.9业力开始使用di,我想这是当它开始支持插件。但是,0.9.3仍然不是一个稳定的版本。