TypeError:初始化构造函数时,Database不是构造函数

时间:2017-09-25 15:41:18

标签: javascript node.js

我有一个数据库对象(database.js),如下所示:

//create the database 
function Database(host, dbuser, dbpassword){
    this.host = host;
    this.dbuser = dbuser;
    this.dbpassword = dbpassword;
    this.connection = null;
}

Database.prototype = {
    connection: function(){
        this.connection = mysql.createConnection({
            host: host,
            user: dbuser
        });
    },
    createDatabase: function(){...};

然后我使用require语句将此对象导入我的主app.js

var db = require('./database.js');

但是,当我尝试构造我的数据库对象时,我得到一个TypeError数据库不是构造函数

var connection = new db('localhost','root');
connection.connection();

我在这里做错了什么?我阅读了原型,似乎我在该部门中没有任何东西,所以它似乎与我的需求声明有关?

1 个答案:

答案 0 :(得分:0)

要导出Database "class"使用

module.exports = Database;

并使用

var Database = require('./database.js');

new Database(...);

Here you have a good tutorial about how to use export/require

仍强烈建议升级到ES6。