Skip to main content

How to setup express js project with other dependencies




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

Popular posts from this blog

SQL: sneak peek

show databases; use mysql; show tables; select * from component; describe component; create database sql_intro; show databases; use sql_intro; create table emp_details (Name varchar(25), Age int, gender char(1), doj date, city varchar(15), salary float); describe emp_details; insert into emp_details  values("Jimmy",35,"M","2005-05-30","Chicago",70000), ("Shane",30,"M","1999-06-25","Seattle",55000), ("Marry",28,"F","2009-03-10","Boston",62000), ("Dwayne",37,"M", "2011-07-12","Austin", 57000), ("Sara",32,"F","2017-10-27","New York",72000), ("Ammy",35,"F","2014-12-20","Seattle",80000); select * from emp_details; select distinct city from emp_details; select count(name) as count_name from emp_details; select avg(salary) from emp_details; select name, age...

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

While migration to db you often face/might face this error which says the table name that you wrote is already exists in the database. so in that case one of the solutions that you can try is wrapping up your create schema with this: if(!Schema::hasTable('users')){ } Example: if (! Schema :: hasTable ( 'users' )){              Schema :: create ( 'users' ,  function  ( Blueprint   $table ) {                  $table -> bigIncrements ( 'id' );                  $table -> bigInteger ( 'role_id' )-> unsigned ()-> nullable ();                  $table -> foreign ( ' role_id ' )-> references ( 'id' )-> on ( 'roles' ) ...