我有一个使用CommonJS模块风格的钛项目。然而,代码使用绝对路径,因此在构建时,绝对路径被限制在应用程序目录中。
var foo = require("/lib/module");
我想在命令行上运行一些测试,并使用jasmine-node。然而当测试执行模块时,模块将在其require语句中具有上述绝对路径。
是否有一种方法可以隔离(可能是chroot)节点以将绝对要求路径解析为特定目录?如果有,该如何实现?
-- RepositoryRoot/
|- app/
| \- Resources/
| |- app.js # Has require("/lib/module1.js")
| \- lib/
| |- module1.js # Has require("/lib/module2.js")
| \- module2.js
\- tests/
\- module1.spec.js # Has require("../app/Resources/lib/module1")
# Or require("/lib/module1")