重构路由后的Express.js db模块

时间:2015-03-17 10:49:39

标签: node.js express nedb

我在node / express中有一个简单的应用程序,在网上看了一个课程后,它帮助我重构了我的应用程序中的路线,但是在这样做之后我发现了一个小问题。

问题是我的路由使用的是一个名为“db”的变量,它是nedb接入点的一个实例。

var db = {
  users: new nedb({ filename: "db/users.db", autoload: true })
};

当然,我可以在每个路径文件的顶部复制5行代码来声明它,但这不会很干。

我试着将它放在一个单独的文件中并导出变量:

...
module.exports = db;

然后将其导入每个文件:

var db = require("./db");
...

但是这没有按预期工作(错误是:找不到模块'。/ db')

这是我文件的简化结构

db/
    users.db
routes/
    users.js
app.js
db.js

解决这个问题的任何想法或最佳实践/优雅方式?

谢谢。

1 个答案:

答案 0 :(得分:0)

你需要一个相对路径。如果您需要inside / routes文件夹,则必须编写

var db = require("../db");