【发布时间】:2015-03-02 05:39:11
【问题描述】:
我想在我的 node.js 项目中包含一个 .db 数据库文件以与 sqlite3 一起使用。当不同目录中的文件需要打开数据库连接的模块时,就会出现我的问题。
我的项目结构是这样的:
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 */ });
}
};
当server.js 文件需要foo.js 时,这一切正常,如下所示:
var foo = require('./lib/foo');
但是当需要 lib 目录内的文件 bar.js 时,它不起作用。
var foo = require('./foo');
我认为这是因为当此文件从 lib 目录启动时,.db 文件实际上应该是 ../db/database.db。
我该如何解决这个问题,我该怎么办?
【问题讨论】:
标签: node.js sqlite relative-path