一步步学习使用node和express开发web应用(二)——npm介绍,express的引入,路由机制
2015-11-13 16:49
731 查看
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?的处理则演示了对多个变量的处理
当上述请求以外的路由请求到来时,则被*路由处理,输出页面不存在的字样。
具体在浏览器中的执行情况如下。
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?的处理则演示了对多个变量的处理
当上述请求以外的路由请求到来时,则被*路由处理,输出页面不存在的字样。
具体在浏览器中的执行情况如下。
相关文章推荐
- Node.js
- Node.js cookie-parser
- 一步步学习使用node和express开发web应用(一)——node简介、开发环境及构建最简web应用
- PRVF-0002 : Could not retrieve local nodename 报错解决
- node文章
- node.js回调函数之阻塞调用与非阻塞调用
- Hadoop启动namenode失败,端口号冲突问题解决
- Swap Nodes in Pairs
- js-Node对象属性二
- js-Node对象属性
- LeetCode 25 Reverse Nodes in k-Group(在K组链表中反转结点)(Linked List)(*)
- 七天学会NodeJS
- CCDrawNode类的引用
- CCDrawNode类的引用
- CCDrawNode类的引用
- [Nodejs]利用Socket.IO配合Express4搭建即时聊天
- node.js回调函数之阻塞调用与非阻塞调用
- Reverse Nodes in k-Group
- nodejs +webSocket 多人聊天室
- LeetCode 24 Swap Nodes in Pairs(交换序列中的结点)(Linked List)