使用require.main.require时,jasmine抛出“找不到模块”

时间:2016-11-22 15:20:35

标签: node.js jasmine require

我在节点模块中使用require.main.require来要求另一个模块来避免相对路径。

当我测试该模块时,jasmine会抛出一个未找到的异常。

反正继续使用require.main.require?任何最佳做法?

1 个答案:

答案 0 :(得分:0)

如果有人正在寻找答案:

require.main.require指向根文件,在本例中是指Jasmin(不是你的app.js等)。你需要创建一个 jasmine helper 来覆盖你的require.main.require函数,如下所示:

const path = require('path');

require.main.require = function(pathName) {
  //path to root app:
  const newPath = path.join(__dirname, '../', pathName);

  return require(newPath);
}