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

Bre*_*don 8 mocha.js node.js

在单元测试时,我倾向于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').

这可能吗?我使用的咕噜,摩卡测试,但我认为这个问题是一个比较普遍的.

Rob*_*ann 2

您可以使用多种选项。你最好的选择可能是使用一些 npm 模块,例如这个。在 npm 注册表中搜索require,有很多选项,因此请选择适合您需求的选项。

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

如果您正在寻找某种本机方法(内置于 Node.js)来实现此目的,遗憾的是没有。您必须使用自定义函数或 npm 模块以某种良好的、可重用的方式来完成此操作。