Как я могу получить доступ к переменной "knex1" из приведенного ниже кода из файла "knexfile.js" в файл db? - PullRequest
0 голосов
/ 28 февраля 2019

Как я могу получить доступ к переменной "knex1" из приведенного ниже кода из файла "knexfile.js" в файл "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 file

  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
    };

1 Ответ

0 голосов
/ 28 февраля 2019

Сначала проверьте список каталогов, если ваши 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/

...