mysql DB的Node.js配置文件

时间:2018-07-06 17:01:59

标签: mysql node.js config

设置我的配置文件时,我遇到了一个小问题。我确定这是简单的问题,但我看不出问题所在。

我在config / config.js下有我的配置文件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:无法读取未定义的属性'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
});

...但是我仍然收到未定义的错误。

有什么主意吗??

1 个答案:

答案 0 :(得分:0)

您正在直接导出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导出多个对象,则第二种方法将更加灵活。