im new in node.js and databases. Trying to do mysql query, but i getting this error TypeError: connection.query is not a function.
Im using Node MySQL 2 (https://www.npmjs.com/package/mysql2) package;
Connection and queries in app.js file works fine, but in another file it throws that error.
What can be wrong with my code?
app.js
const chalk = require('chalk');
const debug = require('debug')('app');
const morgan = require('morgan');
const path = require('path');
const mysql = require('mysql2');
const app = express();
const port = process.env.PORT || 3000;
const connection = mysql.createConnection({
  host: '...',
  user: '...',
  password: '...',
  database: '...',
});
connection.connect((err) => {
  if (err) {
    debug(`error connecting: ${chalk.red(err.stack)}`);
    return;
  }
  debug(`connected as id ${chalk.green(connection.threadId)}`);
});
app.use(morgan('tiny'));
app.use(express.static(path.join(__dirname, '/public/')));
app.use('/css', express.static(path.join(__dirname, '/node_modules/bootstrap/dist/css/')));
app.use('/js', express.static(path.join(__dirname, '/node_modules/bootstrap/dist/js/')));
app.use('/js', express.static(path.join(__dirname, '/node_modules/jquery/dist/')));
app.set('views', './src/views');
app.set('view engine', 'ejs');
const nav = [{ link: '/books', title: 'Books' },
  { link: '/authors', title: 'Authors' }];
const bookRouter = require('./src/routes/bookRoutes')(nav);
app.use('/books', bookRouter);
app.get('/', (req, res) => {
  res.render(
    'index',
    {
      nav,
      title: 'Library app',
    },
  );
});
app.listen(port, () => {
  debug(`listening on port ${chalk.green(port)}`);
});
module.exports = connection;
bookRoutes.js
const mysql = require('mysql2');
const debug = require('debug')('app:bookRoutes');
const connection = require('../../app');
const bookRouter = express.Router();
function router(nav) {
  const books = [
    {
      title: 'Nocturna',
      genre: 'Fantasy',
      author: 'Maya Motayne',
      read: false,
    },
    {
      title: 'Finale',
      genre: 'Fantasy',
      author: 'Stephanie Garber',
      read: false,
    },
  ];
  bookRouter.route('/')
    .get((req, res) => {
      connection.query('SELECT * FROM `books`', (error, results) => {
        debug(results);
        res.render(
          'bookListView',
          {
            nav,
            title: 'Library app',
            books,
          },
        );
      });
    });
  bookRouter.route('/:id')
    .get((req, res) => {
      const { id } = req.params;
      res.render(
        'bookView',
        {
          nav,
          title: 'Library app',
          book: books[id],
        },
      );
    });
  return bookRouter;
}
module.exports = router;
EDIT: Project tree
├── app.js
├── package-lock.json
├── package.json
├── public
|  ├── css
|  |  └── styles.css
|  └── js
└── src
   ├── routes
   |  └── bookRoutes.js
   └── views
      ├── bookListView.ejs
      ├── bookView.ejs
      └── index.ejs
Thanks for help.
 
    