避免使用grunt摩卡需要(../../../ ..)相对路径

时间:2015-01-03 14:37:59

标签: node.js mocha

在单元测试时,我倾向于在项目结构的顶部有一个名为test的目录,目录结构模仿要测试的源代码。但是,这些目录可能会非常深入,例如

app/src/js/models/User.js

可能在

进行测试

test/app/src/js/models/User.js

现在,当我想要包含User.js模块时,我使用require('../../../../../app/src/js/models/Users.js')这非常麻烦。

理想情况下,我想使用require('/app/src/js/models/User.js')或甚至require('User.js')

这可能吗?我正在使用grunt-mocha-test,但我认为问题更为一般。

1 个答案:

答案 0 :(得分:2)

您可以使用多种选项。你最好的选择可能是使用一些npm模块,例如this one。在npm注册中搜索 require ,有很多选项,所以请根据自己的需要选择。

或者,您可以编写一些类似的辅助函数。

如果您正在寻找一些本地方式(内置于Node.js)来实现这一点,遗憾的是没有。您将不得不使用自定义函数或npm模块以一种不错的,可重用的方式执行此操作。