mysql db的node.js配置文件

2fjabf4q  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(353)

我在设置配置文件时遇到了一个小问题。我确信这很简单,但我不明白问题出在哪里。
我的配置文件config.js在config/config.js下

var databaseOptions = {
    host     : 'localhost',
    database : 'test',
    user     : 'root',
    password : 'root',
    port     : '8889'
};
module.exports = databaseOptions;

然后我在我的模型中使用它:

var config = require('../config/config.js');
var mysql = require('mysql');
var connection = mysql.createConnection(config.databaseOptions);

但它不起作用。。。相反,我得到了一个错误:typeerror:无法读取undefined的属性'host'
我也试过这样:

var connection = mysql.createConnection({
          host     : config.databaseOptions.host,
          database : config.databaseOptions.database,
          user     : config.databaseOptions.user,
          password : config.databaseOptions.password,
          port     : config.databaseOptions.port
});

... 但我仍然得到一个未定义的错误。
有什么主意。。。?

j2qf4p5b

j2qf4p5b1#

您正在导出 databaseOptions 所以你只需要:

var databaseOptions = require('../config/config.js');
var connection = mysql.createConnection(databaseOptions);

如果要使用config.databaseoptions,则需要导出:

var databaseOptions = {
    host     : 'localhost',
    database : 'test',
    user     : 'root',
    password : 'root',
    port     : '8889'
};
module.exports = {databaseOptions: databaseOptions} ;

module.exports.databaseOptions = {
  host     : 'localhost',
  database : 'test',
  user     : 'root',
  password : 'root',
  port     : '8889'
};

然后您可以使用:

var config = require('../config/config.js');
var connection = mysql.createConnection(config.databaseOptions);

如果您有多个要从中导出的对象,则第二种方法将更加灵活 config .

相关问题