如何在node.js中修补环境模块?

时间:2013-03-07 23:35:56

标签: node.js npm mocha monkeypatching

我已经在全局安装了mocha并使用它来运行一些测试:

$> mocha test.js

在test.js文件的根目录中,我想修补mocha:

require('mocha').Runner.prototype.runTests = function() {...}

但是要求('mocha')失败,因为mocha不在node_modules中,而是全局安装。

如果我在我的项目中本地安装mocha然后要求('mocha')找到它,但它与用于执行的环境模块不同,因此补丁不是很好。

如果我从本地存储库而不是全局存储库运行mocha,那么一切正常:

$> ./node_modules/mocha/bin/mocha test.js

但是我想从全局存储库运行mocha。任何想法?

编辑:我放弃了访问全局mocha模块的尝试,似乎在本地运行mocha并且在本地需要它对my use case来说已经足够了。

1 个答案:

答案 0 :(得分:0)

鉴于<span style="color:<?=$colors[$attendance->AttType];?>;">$attendance->AttType</span> 告诉您安装所有全局节点模块的目录(我的机器上为npm root -g)并且您可以将绝对路径传递给/usr/local/lib/node_modules,可以执行此操作这样:

require

这会加载mocha的全局安装。