1.Express简介

1.1什么是Express

  1. 官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架,官方网址
  2. 相似用途:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的
  3. Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法

1.2Express与Http内置模块的关系与区别

  1. 类似于浏览器中 Web APIjQuery 的关系。后者是基于前者进一步封装出来的
  2. http 内置模块用起来很复杂,开发效率低;Express 是基于内置的 http 模块进一步封装出来的,能够- 极大的提高开发效率

1.3Express的功能用途

对于前端程序员来说,最常见的两种服务器,分别是:

  • Web 网站服务器:专门对外提供 Web 网页资源的服务器。
  • API 接口服务器:专门对外提供 API 接口的服务器。

2.Express的基本使用

2.1安装

在项目所处的根目录中,打开cmd终端运行如下的命令,即可将 express 安装到项目中使用

npm i express@4.17.1

2.2创建基本的Web服务器

//1.导入 express
const express = require('express')
//2.创建 web 服务器
const app = express() //3.调用app.listen(端口号,回调函数),启动服务器
app.listen(3000, () => {
console.log('服务器已开启于:http://127.0.0.1:3000')
}

2.3监听GET和POST请求,并返回数据给客户端

// 1.导入 express
const express = require('express')
// 2. 创建 web 服务器
const app = express() // 4. 监听客户端的 GET 和 Post 请求,并向客户端响应具体的内容
// req:请求对象;res:响应对象
app.get('/user', (req, res) => {
// 调用 express 提供的 res.send() 方法,向客户端响应一个 JSON 对象
res.send({ name: 'zs', age: 20, gender: '男' })
}) app.post('/user', (req, res) => {
// 调用 express 提供的 res.send() 方法,向客户端响应一个文本字符串
res.send('请求成功')
}) // 3. 调用 app.listen(端口号, 启动后的回调函数), 启动服务器
app.listen(3000, () => {
console.log('running……')
})

2.4托管静态资源

express 提供了一个非常好用的函数,叫做 express.static(),通过它,我们可以非常方便地创建一个静态资源服务器

const express = require('express')
const app = express() // 在这里,调用 express.static() 方法,快速的对外提供静态资源
// 访问路径为相对路径,可以省略./
app.use(express.static('./public'))
//挂载路径前缀,前缀名自定义
app.use('/abc', express.static('static')) app.listen(3000, () => {
console.log('running……')
})

初步认识express,并创建web服务器,挂载静态资源的更多相关文章

  1. 一个简单的Web服务器-支持静态资源请求

    目标 实现一个简单的Web服务器,能够根据HTTP请求的URL响应对应的静态资源,如果静态资源不存在则响应404. HttpServer 使用ServerSocket实现的一个服务器,request根 ...

  2. node.js使用express模块创建web服务器应用

    1.安装express模块 在命令行输入 npm install body-parser --save npm install express --save 2.创建app.js文件 /*应用程序入口 ...

  3. 使用express创建web服务器

    使用express创建web服务器 laiqun@msn.cn Contents 1. 简单的express服务器 2. 静态文件服务 3. 路由 4. 中间件 1. 简单的express服务器 安装 ...

  4. 使用nodejs的http模块创建web服务器

    使用nodejs的http模块创建web服务器 laiqun@msn.cn Contents 1. web服务器基础知识 2. Node.js的Web 服务器 3. 代码实现 1. web服务器基础知 ...

  5. nodejs的express框架创建https服务器

    一 openssl创建https私钥和证书 1.下载windows版openssl: http://slproweb.com/products/Win32OpenSSL.html Win64OpenS ...

  6. 如何在Eclipse中创建Web服务器

    使用Eclipse开发Web项目时,需要先配置Web服务器,如果已经配置好Web服务器,就不需要再重新配置了.也就是说,本节的内容不是开发每个项目时,都必须经过的步骤.创建Web服务器的具体步骤如下: ...

  7. 06-Node.js学习笔记-创建web服务器

    创建web服务器 //引用系统模块 const http = require('http'); //创建web服务器 //用于处理url地址 const url = require('url'); c ...

  8. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  9. web站点优化之使用tengine搭建静态资源服务器,静态资源合并加载案例剖析

    在一个项目还是单体架构的时候,所有的js,css,image都会在一个web网站上,看起来并没有什么问题,比如下面这样: 但是当web网站流量起来的时候,这个单体架构必须要进行横向扩展,而在原来的架构 ...

随机推荐

  1. 三分钟图解 MVCC,看一遍就懂

    前文我们介绍了 InnoDB 存储引擎在事务隔离级别 READ COMMITTED 和 REPEATABLE READ(默认)下会开启一致性非锁定读,简单回顾下:所谓一致性非锁定读就是每行记录可能存在 ...

  2. GUI编程笔记

    GUI编程 告诉大家该怎么学? 这是什么? 它怎么玩? 该如何去我们平时运用? 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 1.简介 GUi的核心技术:Sw ...

  3. [C语言]学习之路

    实例:C语言编程题 求100到300之间所有素数 #include <stdio.h> int main(void) { int i,j; for(i = 100;i <= 300; ...

  4. JVM-对象的实例化,内存布局与访问定位

    1.对象的实例化 提到对象的实例化,我们可能会想到几个问题.对象在JVM中是怎么存储的?对象里面有什么?接下来,我们就来探讨一下对象的实例化以及回答一下这两个问题. 首先我们用图例来说明对象的实例化: ...

  5. vue-混入( mixin 更方便的组件功能复用方法)的使用

    前言 vue 中组件完成了样式和功能的综合复用,通过自定义指令完成了一部分功能的复用,本文总结一下混入在vue项目开发中提供的非常便利的功能复用. 正文 1.混入的分类 (1)全局混入 <div ...

  6. redis 5.0.12 install

    redis 5.0.12 install ## check directory ls -l /XXXXXXX ##create dir mkdir -p /XXXXXXX/dataredis mkdi ...

  7. 利用caffe.proto生成caffe.pb.h

    完全按照博文来就好了:http://blog.csdn.net/u012905422/article/details/52794693

  8. Java入门基础,必读!Java单行、多行和文档注释!

    在编写Java的过程中,我们需要对一些程序进行注释.除了方便自己阅读之外,我们还需要为他人更好地理解我们的程序.因此,我们需要对一些程序进行注释,这些注释可以是编程思想,也可以是程序的作用,可以说是J ...

  9. Editing Tools(编辑工具)

    编辑工具 # Process: 修剪线 arcpy.TrimLine_edit("", "", "DELETE_SHORT") # Proc ...

  10. 题解 CF555E Case of Computer Network

    题目传送门 题目大意 给出一个\(n\)个点\(m\)条边的无向图,有\(q\)次有向点对\((s,t)\),问是否存在一种方法定向每条边使得每个点对可以\(s\to t\). \(n,m,q\le ...