Day16 NodeJS-Express I

从今天开始,程序码和实作练习的部份会占比较多的部份,终於要进入实用的NodeJS网页框架-Express了。

Express

Express是NodeJS後端开发中最受欢迎、快速且轻量的网页框架,提供许多开发网页应用程序的资源与功能。

安装Express

由於Express是一个NPM套件,透过终端机就可以轻松安装,而Express是需要在程序执行时使用的套件,因此要以--save选项将套件加入Dependencies

https://ithelp.ithome.com.tw/upload/images/20211001/201399805C312nzaFO.png

使用Express建立Web Server

  1. 引入express模组。
let express = require("express");
let app = express();
  1. 透过listen(<port>)方法可以建立监听指定port(埠)的server(服务器)。
app.listen(2000);
  1. 将埠值设定为全域使用的环境变数(environment variables),让系统更有弹性,可以因应不同的执行环境不需修改设定。
let port = process.env.PORT || 2000;	// 如果环境变数不存在,使用2000
app.listen(port);
  1. 在处理Request(请求)与Response(回应)的部份,express提供不同的HTTP方法,包含getpostdelete等,可以透过url触发回呼函式,并处理请求与回应,例如:在请求初始页面时回传一个HTML页面,值得注意的是使用express中的res.send()方法回传回应时,会自动确认回应串流的资料类型,因此不需要另外设定ContentType。
app.get('/', function(req, res){
  res.send("<html><head></head><body><h1>Hello</h1></body></html>");
});

https://ithelp.ithome.com.tw/upload/images/20211001/20139980fXVpT53E3T.png

  1. 透过res.json()方法,将JavaScript的物件转换成JSON格式字串并传送。
app.get('/api', function(req, res){	
  res.json({ firstName: "chw", lastName: "k" });
});

https://ithelp.ithome.com.tw/upload/images/20211001/20139980pvkcLxr1m3.png

小结

虽然不使用任何套件也可以在NodeJS上建立Web Server,但藉由express的功能,可以更轻松的进行开发唷~

参考资料

https://expressjs.com

https://leanylabs.com/blog/npm-packages-for-nodejs/

Learn and Understand NodeJS [课程]


<<:  [ Day 16 ] - 事件

>>:  Day18:【技术篇】HTML的冷门使用技巧

[NestJS 带你飞!] DAY18 - Lifecycle Hooks

什麽是 Lifecycle Hook? 在开始介绍之前,先来了解一下何谓 生命周期 (Lifecyc...

你是谁、你的过去都不重要,成功的能力永远都从你开始。

你是谁、你的过去都不重要,成功的能力永远都从你开始。 It doesn’t matter who y...

Day 10 Dart语言-混合及泛型

混合mixins 介绍:mixin是一种可以把自己的方法提供给别的类别使用,却不需要成为其他类别的父...

[Day07]打造专业稽核形象

从上图可知衣装仪态的重要性。 其实,稽核专业的形象,一直是我所追求的目标,即使我在资安顾问的年资已...

Day 1:过时的 Android 口罩地图 APP 应用程序 ?!

本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtu...