express简介
express作用和node.js内置的http模块类似,是专门用来创建web服务器的
不使用express 能够创建web服务器
能,使用node.js提供的原生http模块
有http 模块,为什么还用express?
http模块用起来很复杂,express是基于内置 http 模块进一步封装出来的,极大的提高了开发率
http内置模块与 express 有什么关系?
类似于浏览器中的web api 和 jquery 的关系,后者是基于前者进一步封装出来的
express能做什么?
web 网站服务器:专门对外提高web 网页资源的服务器
API 接口服务器,专门对外提供api 接口的服务器
使用express 可以方便、快速的创建 web 网站的服务器或 api 接口的服务器

通过app.get()方法,可以监听客户端的get请求

通过app.post() 方法,可以监听客户端的POST 请求

通过res.send()方法,可以把处理好的内容,发送给客户端

通过req.query 对象,可以访问到客户端同查询字符串的形式,发送到服务器的参数


通过req.params对象,可以访问到url 中,通过 : 匹配到的动态参数


: id 后面的数字可以任意写, :id 后面的参数可以任意写可以有多个动态参数
express提供了一个非常好的函数,叫做express.static() 通过它,可以非常方便的创建一个静态资源服务服务器
通过如下代码就可以将public 目录下的图片,css文件,javascript文件对外开放访问了
app.use(express.static('public'))
现在就能访问public目录下的所有文件
express在指定的静态目录中查找文件,并对外提供资源的访问路径,因存放静态文件的目录名不会出现在url中


如果想要托管public和files目录下的文件,可以多次调用express.static()函数

访问静态资源文件时,express.static() 函数会根据目录添加顺序查找所需文件
以下代码中先访问了files中的index.html

如果希望在托管的静态资源访问路径之前,挂载路径前缀 ,则可以使用如下方式:


为什么是要使用nodemon
在编写node.js项目的时候,如果修改了项目的代码,则需要频繁的手动close掉,如何在重新启动,非常繁琐
现在,可以使用nodemon这个工具,他能够监听项目文件的变动,当代码被修改后,nodemon会自动帮我们重启项目,极大方便了开发和调式
安装nodemon
在终端里执行代码
npm install -g nodemon
使用nodemon
基于node.js编写了一个网站应用的时候,传统的方式,运行node app.js命令来启动项目,这样的坏处是代码被修改之后,需要手动重启项目
现在可以将node命令替换为nodemon 命令,使用nodemon app.js 来启动项目,这样的好处是:代码被修改之后,会被nodemon监听到,从而事件自动重启项目的效果
