0

我在几个目录中有 node.js 模块,因为我遵循 MVC 模式。我需要调用位于当前目录之外的几个模块。我怎样才能做到这一点?

/app/controller/c1.js

...


/app/model/m1.js

...


/app/view/v1.js

...


/app/view/v2.js

// this works
require('./v2'); 

// these doesn't work 
require('../model/m1.js');
require('~/model/m1.js');

...

为什么呢?

4

2 回答 2

1

对于其他目录中的模块,请使用以下格式:

testAuth =require('./public/javascripts/test.js'), 
//in case the test.js is in the public/javascripts directory (I am using Linux)

如果您跳过 '.js' 扩展名,节点应先查找 .js,然后再查找 .json 等。

希望能帮助到你。

于 2012-07-29T19:36:51.693 回答
1

看看这个项目

https://github.com/nadav-dav/rekuire

它允许您在没有相对路径的情况下使用“require”,只需说明文件/类名

于 2013-03-28T10:00:34.450 回答