我怎样才能简单地替换某个需求电话的结果?

时间:2016-05-30 13:06:06

标签: node.js

我的项目文件夹下有一个文件路径,经常被其他模块使用。目前我必须写这样的东西:

mod1 = require('../lib/mod1');

mod2 = require('./lib/modules/mod2');

mod3 = require('../../../lib/modules/mod3');

我可以以某种方式挂钩require调用,用正确的路径替换返回的结果。我正在努力实现这个目标:

mod1 = require('lib/mod1');

mod2 = require('lib/modules/mod2');

mod3 = require('lib/modules/mod3');

这样lib从我项目的任何目录中的任何模块解析为完整路径lib文件夹。

1 个答案:

答案 0 :(得分:1)

最简单的方法是根据您的需要包装require函数。

global.myRequire= function(path) {
    return require(__dirname + '/' + path);
};

在所有必需模块之前,在主app.js中添加上面的代码块。

所以你可以像这样调用模块var myModule = myRequire('lib/mod1');