Подключение к базе данных из файла server.js в приложении Angular и NodeJS - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть два файла в моем угловом проекте: server.js и db_connection.js .Я размещаю проект на Heroku.

server.js в настоящее время работает, потому что в моем package.json у меня есть "start": "node server.js"

Я хочу подключитьсяв базу данных, но я хочу поместить это в отдельный файл с именем db_connection.js .Как мне убедиться, что код в этом файле работает?Мне звонить с server.js ?Если да, то как?

Мои файлы:

server.js:

const express = require('express');
const app = express();
const path = require('path');

app.use(express.static(__dirname + '/dist/my-app'));

app.listen(process.env.PORT || 8080);

// PathLocationStrategy
app.get('*', function (req, res) {
    res.sendFile('dist/my-app/index.html' , { root : __dirname});
  });

console.log('Console Listening')

db_connection.js:

var mysql = require('mysql');

var con = mysql.createConnection({
    host: "my_server.net",
    user: "my_username",
    password: "my_password"
});

con.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
  });

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете сделать что-то вроде этого.

server.js

const express = require('express');
const app = express();
const path = require('path');
const db = require('./db_connection')

app.use(express.static(__dirname + '/dist/my-app'));

app.listen(process.env.PORT || 8080);

// PathLocationStrategy
app.get('*', function (req, res) {
    res.sendFile('dist/my-app/index.html' , { root : __dirname});
});

app.get('/getSomethingFromDB', db.getSomethingFromDB)

app.post('/postSomethingToDB', db.postSomethingToDB)

console.log('Console Listening')

db_connection.js

const mysql = require('mysql')
const con = mysql.createConnection({
    host: "my_server.net",
    user: "my_username",
    password: "my_password",
    database: 'my_db_name'
});

con.connect( err => {
    if (err) throw err;
    console.log("Connected")
});

module.exports = {

    getSomethingFromDB: (req, res) => {
        const getQuery = `SELECT * FROM some_table WHERE condition`
        con.query(getQuery, (error, results, fields) => {
            if (error) {
                return res.status(500).send("DB Error")
            } else {
                return res.status(200).send(results)
            }
        })
    },

    postSomethingToDB: (req , res) => {
        // Your code for post requests
    },

    // Similarly other functions

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...