Express Basics

What is Express.js?
: Express is a minimal and flexible Node.js web application framework that provides a robust set of features to develop web
and mobile
applications.
Core Features
Allows to set up middlewares to respond to HTTP Requests
Defines a routing table which is used to perform different actions based on HTTP Method and URL
Allows to dynamically render HTML Pages based on passing arguments to templates
Installation
1. Installing Express Locally
Install express
npm install express --save
saves the installation locally in the node_modules
create a directory express inside node_modules
Express version check
$ npm view express version
4.17.1
Install modules alog with express
npm install body-parser --save
npm install cookie-parser --save
npm install multer --save
2. Installing Express in the Project
Directory structure
express_tutorial/
โโโ package.json
โโโ public
โ โโโ css
โ โโโ style.css
โโโ router
โ โโโ main.js
โโโ server.js
โโโ views
โโโ about.html
โโโ index.html
1. create package.json
{
"name": "express-tutorial",
"version": "1.0.0",
"dependencies":
{
"express": "~4.13.1",
"ejs": "~2.4.1"
}
}
2. Install dependency by using npm
npm
npm install
3. Create Express
server
Express
serverserver.js
var express = require('express');
var app = express()
var server = app.listen(8000, function(){
console.log("Express server running on port 8000!")
})
result
$ node server.js
Express server running on port 8000!
port 8000 ์ผ๋ก web server ์ด์ด์ ๋ค์ด๊ฐ๋ฉด
Cannot GET/
์ด๋ผ๋ text ์ถ๋ ฅ๋จwhy?
Router
๋ฅผ ์์ง ์ ๋ฆฌํ์ง ์์์!
4. Basic Routing
server.js
var express = require('express');
var app = express()
var server = app.listen(8000, function(){
console.log("Express server running on port 8000!")
})
app.get('/', function(request, response){
response.send('Hello World')
})
5. Router

router code์ server code๋ ๋ค๋ฅธ ํ์ผ์ ์์ฑํ๋ ๊ฒ์ด ์ข์ ์ฝ๋ฉ ์ต๊ด!
router folder ๋ง๋ค๊ธฐ
main.js
์์ฑ
router > main.js
module.exports = function(app){
app.get('/', function(request, response){
response.render('index.html')
});
app.get('/about', function(request, response){
response.render('about.html')
});
}
module.exports
๋ router code๋ฅผ ๋ฐ๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์server.js
์์ module๋ก์ ๋ถ๋ฌ์์ ์ฌ์ฉ ๊ฐ๋ฅ~!
5. Render HTML page
views directory ๋ง๋ค๊ธฐ
html
file๋ค ๋ง๋ค๊ธฐ
views > index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index</title>
</head>
<body>
<p>This is index page!</p>
</body>
</html>
views > about.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=<device-width>, initial-scale=1.0">
<title>About</title>
</head>
<body>
<p>About... what?</p>
</body>
</html>
server.js ์์ ํ๊ธฐ
var express = require('express');
var app = express();
// router module์ธ main.js๋ฅผ ๋ถ๋ฌ์์ app์ ์ ๋ฌํ๊ธ
var router = require('./router/main')(app);
// server๊ฐ ์ฝ์ ์ ์๋๋ก HTML์ ์์น๋ฅผ ์ ์ํด์ฃผ๊ธ
app.set('views',__dirname + '/views');
// server๊ฐ HTML rendering์ ํ ๋ EJS engine ์ฌ์ฉํ๋๋ก ์ค์ ํ๊ธ
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
var server = app.listen(8000, function(){
console.log("Express server has started on port 8000!!")
})
Handling Static Files
Static Files
HTML์์ ์ฌ์ฉ๋๋
.js
,css
,image
file๋คServer์์
Static files
์ ๋ค๋ฃจ๊ธฐ ์ํด์express.static()
method๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค!
public directory ๋ง๋ค๊ธฐ
css directory ๋ง๋ค๊ธฐ
.css
file๋ค ๋ง๋ค๊ธฐ
public > css > style.css
body {
background-color: black;
color: white;
}
server.js ์์ ํ๊ธฐ
// public directory๋ฅผ static folder๋ก ์ค์
app.use(express.static('public'));
html file๋ค์ css ๋งํฌ ์ถ๊ฐํ๊ธฐ
<link rel="stylesheet" href="css/style.css">
result
127.0.0.1:8000/

127.0.0.1:8000/about

Last updated
Was this helpful?