Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何导出数据库连接字符串node/node.js_Javascript_Node.js_Module_Export - Fatal编程技术网

Javascript 如何导出数据库连接字符串node/node.js

Javascript 如何导出数据库连接字符串node/node.js,javascript,node.js,module,export,Javascript,Node.js,Module,Export,我正在尝试将以下数据库连接字符串转换为模块: require('dotenv').load(); var knex = require('knex')({ client: 'pg', connection: { host: 'localhost', user: process.env.DB_USER, password: process.env.DB_USER_PASSWORD, database: process.

我正在尝试将以下数据库连接字符串转换为模块:

require('dotenv').load();
var knex = require('knex')({
    client: 'pg',
    connection: {
        host: 'localhost',
        user: process.env.DB_USER,
        password: process.env.DB_USER_PASSWORD,
        database: process.env.DB_NAME
    },
    pool: {
        min: 0,
        max: 7
    }
});
到目前为止,我试过:

require('dotenv').load();
module.exports = {
knex : require('knex')({
    client: 'pg',
    connection: {
        host: 'localhost',
        user: process.env.DB_USER,
        password: process.env.DB_USER_PASSWORD,
        database: process.env.DB_NAME
    },
    pool: {
        min: 0,
        max: 7
    }
})

}
在my app.js文件中:

var knex = require('./models/database');
knex.select().table('users').then(function(result) {
    result.forEach(function(value) {
        console.log(value.first_name);
    });
});
这将返回错误“knex”未定义。我认为我的模块被导出的方式是不正确的。。。有人能帮忙吗


谢谢大家!

这是因为导出的对象包含
knex
。 在要求中添加
knex

var knex = require('./models/database').knex;
或者将导出更改为

module.exports = require('knex')({ ... })