前端需要去了解的nodejs知识(express基础)

简介: 个人对nodejs的使用也是从express开始的,从使用express至今也有好几年了,当时都没有好好的去总结下,乘着最近有空重头再看看这个陪伴了我们这么久的好用的express框架。

个人对nodejs的使用也是从express开始的,从使用express至今也有好几年了,当时都没有好好的去总结下,乘着最近有空重头再看看这个陪伴了我们这么久的好用的express框架。

初始化


express创建项目的方式有两种一种是自己通过npm安装相关插件创建,一种可以通过express生成器来创建。

  • 通过npm初始化配置
// 初始化配置文件
npm init
// 安装express
npm install express --save
//新建app.js应用文件
let express = require("express");
let app = express();
app.listen(3000,function(err){
   console.log("serve is starting:3000!")   
})
// 运行app.js
node app.js

运行是控制台可以看到日志输出,简单的几行代码就能启动一个服务,这正是express(node)方便之处。

  • 通过express生成器创建
npm install express-generator -g
//express + 目录名
express app
cd app
npm run start

浏览器打开http://localhost:3000/ 可以看到如下页面

网络异常,图片无法展示
|

路由


express路由是express的核心功能,其路由API有两种一个是express返回的app,另一个是express.Router()返回的可安装的模块化路由处理程序。我们在开发中经常会两者结合使用。

express的基本路由

  • 使用方式
let express = require('express');
let app = express();
//结构如下
app.METHOD(PATH,HANDLER)

METHOD是请求方法主要有:GET POST PUT DELETE PATCH

PATH是请求路径:字符串 正则

HANDLER 是在路由匹配时执行的函数。

  • 路由方法:METHOD
// GET method route
app.get('/', function (req, res) {
  res.send('this is GET');
});
// POST method route
app.post('/', function (req, res) {
  res.send('this is POST');
});
// all表示匹配所有的方法
app.all('/secret', function (req, res, next) {
  console.log('Accessing the secret section ...');
  next(); // pass control to the next handler
});
  • 路由路径PATH:路由路径与请求方法相结合,用于定义可以在其中提出请求的端点。路由路径可以是字符串、字符串模式或正则表达式
// 字符串路径,此路径可以看做为完全匹配
app.get('/string', function (req, res) {
  res.send('string');
});
// 基于字符串模式的路由路径,此路由路径将匹配 `abcd`、`abbcd`、`abbbcd` 等。
app.get('/demo?example', function(req, res) {
  res.send('demo?example');
});
// 以下是基于正则表达式的路由路径,此路由将匹配demo结尾的所有字符串
app.get(/.*demo$/, function(req, res) {
  res.send('/.*demo$/');
});
  • 补充:链式路由

express的模板路由

使用 express.Router 类来创建可安装的模块化路由处理程序。Router 实例是完整的中间件和路由系统;因此,常常将其称为“微型应用程序”

  • 使用方式
let express = require('express');
let router = express.Router();
// middleware that is specific to this router
router.use(function timeLog(req, res, next) {
  console.log('Time: ', Date.now());
  next();
});
// define the about route
router.get('/about', function(req, res) {
  res.send('About birds');
});
module.exports = router;

注意:其路由的方法和路径和express的基本路由规则一致

请求、返回处理


express的请求和返回的对象是路由处理函数的参数也是对nodejs中Request和Response类的封装,一般用来获取请求参数和设置返回内容。

Request

  • 常用参数
参数 描述
req.path 获取请求路径
req.body 获取请求体中的内容
req.params 获取请求主路径上传递的参数值
req.cookies 获取请求携带的cookie值
req.query 获取请求路径?后的参数
  • 常用方法
方法 描述
res.accepts() 检查是否acceptab指定的内容类型
res.get() 返回指定的HTTP请求报头字段(不区分大小写匹配)。Referrer和Referer字段是可以互换的。

Response

  • 常用参数
参数 描述
res.headersSent 布尔属性,指示应用程序是否为响应发送HTTP报头。
res.locals 实现了模板和路由之间的传参
  • 常用方法
方法 描述
res.download() 提示将要下载文件。
res.end() 结束响应进程。
res.json() 发送 JSON 响应。
res.jsonp() 在 JSONP 的支持下发送 JSON 响应。
res.redirect() 重定向请求。
res.render() 呈现视图模板。
res.send() 发送各种类型的响应。
res.sendFile() 以八位元流形式发送文件。
res.sendStatus() 设置响应状态码并以响应主体形式发送其字符串表示。
res.set() 将响应的HTTP报头字段设置为value。要一次设置多个字段,需要传递一个对象作为参数。

总结


本文主要简单的说明了下express的使用,后面的文章将详细介绍express核心功能(路由 中间件 请求/返回)的使用。 参考文档1:express 入门和基础知识


相关文章
|
1月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
30天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
37 0
|
14天前
|
JavaScript 中间件 关系型数据库
构建高效的后端服务:Node.js 与 Express 的实践指南
在后端开发领域,Node.js 与 Express 的组合因其轻量级和高效性而广受欢迎。本文将深入探讨如何利用这一组合构建高性能的后端服务。我们将从 Node.js 的事件驱动和非阻塞 I/O 模型出发,解释其如何优化网络请求处理。接着,通过 Express 框架的简洁 API,展示如何快速搭建 RESTful API。文章还将涉及中间件的使用,以及如何结合 MySQL 数据库进行数据操作。最后,我们将讨论性能优化技巧,包括异步编程模式和缓存策略,以确保服务的稳定性和扩展性。
|
21天前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的完美结合
【10月更文挑战第21天】本文将引导你走进Node.js和Express框架的世界,探索它们如何共同打造一个高效、可扩展的后端服务。通过深入浅出的解释和实际代码示例,我们将一起理解这一组合的魅力所在,并学习如何利用它们来构建现代Web应用。
41 1
|
10天前
|
Web App开发 JavaScript 前端开发
探索后端开发:Node.js与Express的完美结合
【10月更文挑战第33天】本文将带领读者深入了解Node.js和Express的强强联手,通过实际案例揭示它们如何简化后端开发流程,提升应用性能。我们将一起探索这两个技术的核心概念、优势以及它们如何共同作用于现代Web开发中。准备好,让我们一起开启这场技术之旅!
25 0
|
10天前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实践
【10月更文挑战第33天】在数字化时代的浪潮中,后端服务的效率和可靠性成为企业竞争的关键。本文将深入探讨如何利用Node.js和Express框架构建高效且易于维护的后端服务。通过实践案例和代码示例,我们将揭示这一组合如何简化开发流程、优化性能,并提升用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
11天前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的融合之道
【10月更文挑战第31天】在追求快速、灵活和高效的后端开发领域,Node.js与Express框架的结合如同咖啡遇见了奶油——完美融合。本文将带你探索这一组合如何让后端服务搭建变得既轻松又充满乐趣,同时确保你的应用能够以光速运行。
21 0
|
1月前
|
JSON JavaScript 前端开发
Node.js Express 框架
10月更文挑战第7天
27 2
|
30天前
|
前端开发 JavaScript 程序员
【从前端入门到全栈】Node.js 之核心概念
【从前端入门到全栈】Node.js 之核心概念
|
30天前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题