chore: Setup dotenv for the express application
This commit is contained in:
1
packages/backend/.env-example
Normal file
1
packages/backend/.env-example
Normal file
@@ -0,0 +1 @@
|
||||
PORT=3000
|
@@ -10,6 +10,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "~2.6.9",
|
||||
"dotenv": "^10.0.0",
|
||||
"express": "~4.16.1",
|
||||
"http-errors": "~1.6.3",
|
||||
"morgan": "~1.9.1"
|
||||
|
@@ -1,3 +1,4 @@
|
||||
import appEnv from './config/app-env'
|
||||
import createError from 'http-errors';
|
||||
import express, { Request, Response, NextFunction } from 'express';
|
||||
import logger from 'morgan';
|
||||
@@ -5,7 +6,7 @@ import logger from 'morgan';
|
||||
import indexRouter from './routes/index';
|
||||
|
||||
const app = express();
|
||||
const port = process.env.PORT || '3000';
|
||||
const port = appEnv.port;
|
||||
|
||||
app.use(logger('dev'));
|
||||
app.use(express.json());
|
||||
@@ -13,10 +14,6 @@ app.use(express.urlencoded({ extended: false }));
|
||||
|
||||
app.use('/', indexRouter);
|
||||
|
||||
app.listen(port, () => {
|
||||
return console.log(`Server is listening on ${port}`)
|
||||
})
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
app.use(function(req: Request, res: Response, next: NextFunction) {
|
||||
next(createError(404));
|
||||
@@ -32,3 +29,7 @@ app.use(function(err: any, req: Request, res: Response, _next: NextFunction) {
|
||||
res.status(err.status || 500);
|
||||
res.render('error');
|
||||
});
|
||||
|
||||
app.listen(port, () => {
|
||||
return console.log(`Server is listening on ${port}`)
|
||||
})
|
||||
|
12
packages/backend/src/config/app-env.ts
Normal file
12
packages/backend/src/config/app-env.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import * as dotenv from 'dotenv';
|
||||
dotenv.config();
|
||||
|
||||
type AppEnv = {
|
||||
port: string,
|
||||
}
|
||||
|
||||
const appEnv: AppEnv = {
|
||||
port: process.env.PORT || '3000',
|
||||
}
|
||||
|
||||
export default appEnv;
|
@@ -5772,6 +5772,11 @@ dotenv@8.2.0:
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
|
||||
integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
|
||||
|
||||
dotenv@^10.0.0:
|
||||
version "10.0.0"
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
|
||||
integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
|
||||
|
||||
duplexer3@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
||||
|
Reference in New Issue
Block a user