更改Node.js中的当前文件夹

时间:2010-12-02 09:27:02

标签: javascript node.js

我有一个文件获取其他一些文件:

start.js

require("./users");

但users.js文件不在当前文件夹中,而是在模型/.

我希望能够运行:

node start.js model

并假设./与start.js中的model /相同。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您需要做的就是让Node.js将文件夹model识别为模块。

为此,您需要在index.js文件夹中放置一个名为model的文件。

//  model/index.js
exports.users = require('./users'); //  model/users.js
exports.posts = require('./posts'); //  model/posts.js
// etc.

现在您可以导入model模块并访问它的导出:

var models = require('./model');
models.users.create(); // some function exported in model/users.js
models.posts.list(); // this was exported in model/posts.js

答案 1 :(得分:0)

您可以将./model目录添加到require.paths数组:

require.paths.unshift("./model");
var
  users = require("users"), // It works!
  posts = require("posts");

但我想问你:你为什么需要这个而不是

var
  users = require("./model/users"), // It works!
  posts = require("./model/posts");