How to setup express project with other dependencies
1) Create a empty folder with a name of your project
2) Inside the folder, create a file called server.js
3) Now, in command prompt type
npm init
and press enter, just write the description of your choice and write the keywords of
your choice or just press enter.
It will create a package.js file inside your project folder.
Now inside the package.js file write these:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon server.js"
}
Here you can see we have typed "nodemon" before server.js.
4) In command prompt write the following command:
npm i express morgan nodemon ejs body-parser dotenv mongoose axios
This will install express, morgan, nodemon, ejs, body-parser, dotenv, mongoose & axios
inside the node_modules folder.
What these does?
express: to rapidly develop the node application
morgan: morgan helps to make a message every time we make a request
nodemon: allows us to restart the server automatically everytime we make a request
ejs: allows us to create dynamic html
body-parser: this module allows us to serialize the data and access the form data
using body property.
dotenv: allow you to separate the secret from your source code. This is very useful in
collaborative environment.
mongoose: With this you can connect your project with mongo database.
axios: This library makes it easy to make a request in express application.
5) Now inside the root folder of project create a folder and name it assets.
6) Inside assets folder create the following folders:
css,img, js.
7) Now, create the following folders inside the root project folder:
server, views.
8) Inside the server folder create the following folders:
controller, database, model, routes
9) In the root directory of the project create a file called config.env and inside
config.env write the following line:
PORT=3000
10) Type the following command to run your project:
npm start
10) Now, Inside the server.js file of your root folder write the following codes:
const express = require('express');
const dotenv = require('dotenv');
const morgan = require('morgan');
const bodyparser = require('body-parser');
const path = require('path');
const app = express();
dotenv.config({path: 'config.env'})
const PORT = process.env.PORT||8080
// log request
app.use(morgan('tiny'));
// parse request to body-parser
app.use(bodyparser.urlencoded({ extended: true }));
// set view engine
app.set("view engine","ejs");
//app.set("views",path.resolve(__dirname, "views/ejs"))
// load assets
app.use('/css',express.static(path.resolve(__dirname,"assets/css")))
// css/style.css
app.use('/img',express.static(path.resolve(__dirname,"assets/img")))
app.use('/js',express.static(path.resolve(__dirname,"assets/js")))
app.get('/',(req, res) => {
res.send('Crud Application');
})
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
})
11) See the project on the url: http://localhost:3000/
Comments
Post a Comment