我有一个文件获取其他一些文件:
require("./users");
但users.js文件不在当前文件夹中,而是在模型/.
中我希望能够运行:
node start.js model
并假设./与start.js中的model /相同。
我该怎么做?
答案 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");