外包数据库操作/连接到nodejs中的不同文件?

时间:2017-09-27 21:49:05

标签: javascript node.js module database-connection

我在nodejs中使用lowdb作为我的数据库。我把它全部放在一个文件中,但现在我想将数据库外包到另一个文件中。

我有不同的功能,必须访问数据库。现在我的外包文件看起来像这样:

const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')

const adapter = new FileSync('db.json')
const db = low(adapter)

db.defaults({ tags: []})
  .write()

module.exports = {
  toCsv: function () {
    console.log("Save to csv");
  },
  toPlainText: function () {
    console.log("Save to plain text");
  },
  toDatabase: function () {
    console.log("Save to Db");
  },
};

我真的不明白如何将这个文件包含在另一个文件中,仍然使用我的module.export如上所述。我只需要该文件,并保持模块导出原样吗?或者我需要一种不同的方法吗?

1 个答案:

答案 0 :(得分:0)

你可以在项目结构的某个地方创建一个db.js文件,比如util dir,只需导出db对象,就像这样:

const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')

const adapter = new FileSync('db.json')
const db = low(adapter)

db.defaults({ tags: []})
.write()

module.exports = db;

然后,从另一个文件中只需要它

const db = require('/path/to/your/db.js')

db.get('tags')
.push({ id: 1, title: 'lowdb is awesome'})
.write()