用grunt摩卡避免需要(../../../ ..)相对path
在进行unit testing时,我倾向于在我的项目结构顶部有一个名为test
的目录,目录结构模仿要testing的源代码。 但是,例如,这些目录可能会变得很深
app/src/js/models/User.js
也许在一个testing中
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 ,但是我认为这个问题是一个更一般的问题。
有多个选项可以使用。 你最好的select可能是使用一些npm模块,例如这个 。 searchnpm注册的要求 ,有大量的选项,以便select适合您的需求。
或者,您可以编写一些类似的帮助函数。
如果你正在寻找一些本地的方式(内置到Node.js)来实现这一点,可悲的是没有。 你将不得不使用一个自定义函数或一个npm模块以一个很好的,可重用的方式来做到这一点。