Add DotEnv

This commit is contained in:
GuilhermeWerner
2020-06-07 23:08:36 -03:00
parent e5ad611df6
commit 81b15fea64
4 changed files with 87 additions and 79 deletions

View File

@ -12,6 +12,7 @@
"dev": "nodemon src/server.js" "dev": "nodemon src/server.js"
}, },
"dependencies": { "dependencies": {
"dotenv": "^8.2.0",
"ejs": "^3.1.3", "ejs": "^3.1.3",
"express": "^4.17.1", "express": "^4.17.1",
"socket.io": "^2.3.0" "socket.io": "^2.3.0"

View File

@ -1,110 +1,110 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<title>Chat</title> <title>Chat</title>
<!-- Include Meta --> <!-- Include Meta -->
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Include Styles --> <!-- Include Styles -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head> </head>
<body> <body>
<div id="header"> <div id="header">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container"> <div class="container">
<a class="navbar-brand" href="/">Chat</a> <a class="navbar-brand" href="/">Chat</a>
<div class="collapse navbar-collapse" id="navbarSupportedContent"> <div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
<!-- <!--
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#">Link</a> <a class="nav-link" href="#">Link</a>
</li> </li>
--> -->
</ul> </ul>
</div>
</div> </div>
</div> </nav>
</nav> </div>
</div>
<div id="main"> <div id="main">
<div class="container"> <div class="container">
<div class="pt-4"> <div class="pt-4">
<form id="chat"> <form id="chat">
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Username</label> <label for="exampleInputEmail1">Username</label>
<input type="text" class="form-control" name="username"> <input type="text" class="form-control" name="username">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Message</label>
<textarea class="form-control" rows="5" name="message"></textarea>
</div>
<div class="text-right">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>
<div class="pt-4">
<div class="card">
<ul class="list-group list-group-flush" id="messages">
</ul>
</div> </div>
<div class="form-group">
<label for="exampleInputPassword1">Message</label>
<textarea class="form-control" rows="5" name="message"></textarea>
</div>
<div class="text-right">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>
<div class="pt-4">
<div class="card">
<ul class="list-group list-group-flush" id="messages">
</ul>
</div> </div>
</div> </div>
</div> </div>
</div>
<!-- Include JavaScript --> <!-- Include JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"
integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI"
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
<script type="text/javascript"> <script type="text/javascript">
var socket = io('http://localhost:3000'); var socket = io('http://localhost:3333');
function renderMessage(message) { function renderMessage(message) {
$('#messages').append(`<li class="list-group-item"><strong>${message.author}:</strong> ${message.content}</li>`); $('#messages').append(`<li class="list-group-item"><strong>${message.author}:</strong> ${message.content}</li>`);
} }
socket.on('previousMessages', function (messages) { socket.on('previousMessages', function (messages) {
for (message of messages) { for (message of messages) {
renderMessage(message);
}
});
socket.on('receiveMessage', function (message) {
renderMessage(message); renderMessage(message);
} });
});
socket.on('receiveMessage', function (message) { $('#chat').submit(function (event) {
renderMessage(message); event.preventDefault();
});
$('#chat').submit(function (event) { var author = $('input[name=username]').val();
event.preventDefault(); var content = $('textarea[name=message]').val();
var author = $('input[name=username]').val(); if (author.length && content.length) {
var content = $('textarea[name=message]').val(); var messageObj = { author, content }
}
if (author.length && content.length) { renderMessage(messageObj);
var messageObj = { author, content }
}
renderMessage(messageObj); socket.emit('sendMessage', messageObj);
})
socket.emit('sendMessage', messageObj); </script>
}) </body>
</script>
</body>
</html> </html>

View File

@ -1,3 +1,5 @@
require('dotenv/config');
const express = require('express'); const express = require('express');
const path = require('path'); const path = require('path');
@ -36,5 +38,5 @@ io.on('connection', socket => {
}) })
server.listen(3000, () => server.listen(3000, () =>
console.log(`Server listen on port: 3000`) console.log(`Server listen on port: 3333`)
); );

View File

@ -411,6 +411,11 @@ dot-prop@^5.2.0:
dependencies: dependencies:
is-obj "^2.0.0" is-obj "^2.0.0"
dotenv@^8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
duplexer3@^0.1.4: duplexer3@^0.1.4:
version "0.1.4" version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"