一、express框架
创建项目目录
在项目的根目录下打开cmd命令行:
npm init
创建项目的package.json配置文件。其中有关于我们项目的一些信息。
安装express模块
npm install exress -save
-save的意思是自动在package.json文件中为项目添加依赖关系。告诉使用者,该项目用到了哪些模块。
1.路由:
就是处理URL地址的Path部分的过程。
路由的使用方式:
app.get/app.post/app.put/app.use
路径的精确匹配
app.get(“/home”) 只能在浏览器上输入 /home,如果输入home1就无法匹配了。
每一个字符必须完全相同。
路径的模糊匹配
方式一:冒号模糊匹配
取出冒号后面的参数的方式:
方式二:正则表达式模糊匹配
在浏览器中输入的路径,并不代表一定是某个文件。它只是一个字符串路径而已。
路由匹配路径的时候,是从上到下匹配的,
一旦上面能匹配成功,下方的路径就不会再被处理了。
路径的原则:
- 精确的写前面
- 模糊的写后面
2.中间件:
就是在路由中处理请求的那个函数。
标准定义方式:
function(req,res,next){
}
req和res对象都是在http模块的req和res对象基础上再次封装的对象。
标准使用方式:
app.use(path, middleware);
前面讲的get方法,是use方法的别名,但也有所区别:
- use方法可以处理子路径,不是精确匹配
- path可以省略,处理任意的路径。通常放在最后,用来返回404页面。
之前搭建静态服务器的时候,就是使用的use方法:
app.use(express.static(__dirname + "/static"));
express.static(dir)是express框架提供的唯一一个中间件。
这个中间件可以多次使用,以设置多个公共的静态文件目录。
中间件的两个对象:
response对象:
send() 发送响应,并结束请求
sendfile() 下载文件
download() 下载文件
redirect() 重定向网络地址
render();
- 下载模板引擎
- 设置模板引擎的路径
- 设置模板引擎的类型
request对象:
我们经常需要从该对象中取出关于请求的信息,express框架已经将参数转换为url对象了,
我们可以直接访问,不必再使用url解析。
get请求直接获取即可:
req.query.username
post请求使用formidble模块解析。
3.模板:
在express中使用模板:
1、设置模板文件的放置路径
2、设置模板引擎的类型
3、使用response对象的render发送动态文件
二、MongoDB数据库
MongoDB是一种非关系型数据库。
结构包括数据库,集合,文档:
Node.js连接数据库:
安装和引入mongodb模块
连接数据库服务器
数据的操作 :
插入数据
insert / insertMany
查询数据
find()