1、npm介绍
1.1
npm是node的包管理器,npm帮助node安装成千上万个模块组件进行使用
npm init //通过初始化向导,为当前项目创建package.json描述文件
npm install 模块名 -g //全局安装模块
npm install 模块名 --save //将模块安装到当前项目,并添加到package.json文件的dependencies中
1.2 为前文项目创建描述文件并安装express
npm init初始化
输入yes确认信息后,package.json文件生成到项目的根目录下。
使用npm install express --save 为项目安装express
查看package.json文件可以看到,我们为项目所安装的express版本为4.13.3,高于全局的4.13.1
注意,我们也可以将需要使用到的模块先写入到package.json文件的dependencies中,再在项目根目录下执行npm install进行安装。
2、express的引入
2.1
express是一个node的框架,将web的结构带给node
express带有模板语言来描述html的view层
express提供一套路由机制
可应用于开发spa单页面应用
express有一套mvc模式:model数据,view模板,controller 是javascript写的业务逻辑
2.2 基于express编写web应用
在前文hello.js中,重写所有代码如下图:
代码添加了对express的引用,并将其实例化。通过实例化后的listen方法起web服务器监听3000端口。代码的当中部分,为响应各种不同请求的路由。
3、路由机制
express的路由定义了对于各种不同的访问请求,如何处理的代码。
可以有get的路由请求,也可以post等谓词的路由请求。
其中第一个参数为路由路径,第二个参数为回调函数,也就是处理路由的逻辑
上述代码中,对于根路径和/me的处理都是通过回调函数的response对象 的send方法输出一段文字
对于/who/:name?的处理,则包含了读取路径中的name变量,通过req.params.name获得该变量的值并打印
对于/who/:name?/:title?的处理则演示了对多个变量的处理
当上述请求以外的路由请求到来时,则被*路由处理,输出页面不存在的字样。
具体在浏览器中的执行情况如下。