Я пытаюсь развернуть приложение Node.В app.listen я использую process.env.PORT, но служба поддержки постоянно сообщает мне, что мое приложение работает только на порту 3000.
Я искал часы напрасно и не могу понять, что я сделалнеправильно.my APP.JS
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const app = express();
var expressValidator = require('express-validator');
var cookieParser = require('cookie-parser');
var connection = require('./routes/connection');
var bcrypt = require('bcrypt');
var session = require('express-session');
var passport = require('passport');
var MySQLStore = require('express-mysql-session')(session);
var LocalStrategy = require('passport-local').Strategy;
var clientRoutes = require('./routes/clients'),
dashboardRoutes = require('./routes/dashboard'),
carerRoutes = require('./routes/carers'),
indexRoutes = require('./routes/index'),
shiftRoutes = require('./routes/shifts'),
timesheetRoutes = require('./routes/timesheets'),
reportRoutes = require('./routes/reports'),
graphRoutes = require('./routes/graph'),
adminRoutes = require('./routes/admin'),
registerRoutes = require('./routes/register');
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended: true}));
app.use(expressValidator());//immedietely after body parser
app.use(cookieParser());
app.use("/public", express.static(path.join(__dirname, 'public')));
var options = {
host: DATABASE_LOCATION,
user: DATABASE_USER,
database: DATABASE_NAME,
password: DATABASE_PASSWORD,
multipleStatements: true //for more than one query in a get route
};
var sessionStore = new MySQLStore(options);
app.use(session({
secret: '12fgsgsdfadfafafasfss',
resave: false,
store: sessionStore,
saveUninitialized: false
// cookie: { secure: true }
}))
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(
function(username, password, done) {
// console.log(username);
// console.log(password);
connection.query('select id, password from users where username = ?', [username], function(err, results, fields){
if (err) { done(err)};
if (results.length === 0) {
done(null, false);
} else {
const hash = results[0].password.toString();
var user_id = results[0].id;
bcrypt.compare(password, hash , function(err, response){
if (response) {
return done(null, {user_id: user_id});
} else {
return done(null, false);
};
});
};
});
}));
app.use(indexRoutes);
app.use(dashboardRoutes);
app.use(carerRoutes);
app.use(clientRoutes);
app.use(shiftRoutes);
app.use(timesheetRoutes);
app.use(reportRoutes);
app.use(graphRoutes);
app.use(adminRoutes);
app.use(registerRoutes);
app.listen(process.env.PORT, process.env.IP, function(){
console.log(`Wayne's server started.....`);
});
My connection.js
var express = require('express');
var router = express.Router();
const mysql = require('mysql');
const connection = mysql.createConnection({
host: DATABASE_LOCATION,
user: DATABASE_USER,
database: DATABASE_NAME,
password: DATABASE_PASSWORD,
multipleStatements: true //for more than one query in a get route
});
module.exports = connection;
Я попытался развернуть на другой хост, и вот, когда я смотрю журналы, в которых говорится, что он работает на порту3000 и не буду открывать домашнюю страницу.Я знаю, что он еще не подключится к базе данных, я просто хочу, чтобы приложение запустилось первым.
Я действительно не могу понять, что я сделал неправильно.Но я подозреваю, что сделал что-то не так при создании переменных среды в моей консоли.