Я хочу включить файл базы данных .db
для использования с sqlite3 в моем проекте node.js. Моя проблема возникает, когда модуль, который открывает соединение с базой данных, требуется файлами в разных каталогах.Работа с относительными путями с node.js
Моя структура проекта следующим образом:
project/
|--lib/
| |--foo.js
| `--bar.js
|--db/
| `--database.db
`--server.js
Мой foo.js
файл содержит открывает базу данных следующим образом:
var sqlite3 = require('sqlite3');
var db = new sqlite3.Database('db/database.db');
module.exports = {
foo: function() {
db.serialize(function() { /* Do database things */ });
}
};
Это все прекрасно работает, когда foo.js
требуется от server.js
файла, как так:
var foo = require('./lib/foo');
Но он не работает, если требуется из файла внутри каталога lib
, bar.js
.
var foo = require('./foo');
Я предполагаю, что это потому, что, когда этот файл запускается из каталога lib
то файл .db
должен быть на самом деле ../db/database.db
.
Как я могу обойти это, что мне делать?