如何从“knexfile.js”文件中将以下代码中的变量“knex1”访问到db文件中?

问题描述 投票:0回答:1

如何从“knexfile.js”文件中将以下代码中的变量“knex1”访问到“db.js”文件中,以检查“db.js”中的连接是否已连接,从而说出控制台消息作为“数据库连接”? ...但是当我运行时,它说“TypeError:无法读取属性'connect'的未定义”错误?

knexfile.js

    var knex1 = {
      development: {
        client: 'mysql',
        connection: {
          host: 'localhost',
          user: 'root',
          password: 'password',
          database: 'user_data',
        }
      },
    };

module.exports = knex1;

db.js文件

  const mysql = require('mysql');
    const db = require('../knexfile');
    const NODE_ENV = 'development' ;
    const knex = require('knex')((db)[NODE_ENV]);
    const bookshelf = require('bookshelf')(knex);

    db.connection.connect(function(err){
    if(!err) {
      console.log("Database is connected ... ");
    }
    else {
      console.log("Error connecting database ... ");
    }
    });


    let registerdata = bookshelf.Model.extend({
      tableName: 'RegisterData'
    });

    module.exports = {
      registerdata
    };
javascript node.js mysql-workbench knex.js bookshelf.js
1个回答
0
投票

如果您的db.js和knexfile.js在同一个文件夹中,请首先检查您的目录列表

-db.js
-knexfile.js

然后使用const db = require('./knexfile');

如果db.js在这样的另一个文件夹中

-folder
 -db.js
-knexfile.js

然后使用const db = require('../knexfile');

.././../../是您找到文件的方式。

有关如何处理es6模块的更多信息,请查看此链接。

https://learnersbucket.com/tutorials/es6/es6-modules/

© www.soinside.com 2019 - 2024. All rights reserved.