在Node.js中更改当前文件夹
我有一个文件获取一些其他文件:
start.js
require("./users");
但是users.js文件不在当前文件夹中,而是在model /中。
我想能够运行:
node start.js model
它会假设./与start.js中的model /相同。
我怎么做?
所有你需要做的就是让Node.js将文件夹model
识别为一个模块。
为了做到这一点,您需要在model
文件夹中放置一个名为index.js
的文件。
// 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
您可以将./model dir添加到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");
?