中关村在线

软件

Express路由设计精要

Express 是一个基于 Node.js 的轻量级、高效且开放的 Web 开发框架,具备丰富的功能,可快速构建各类 Web 应用和移动应用,广泛应用于现代前端与后端开发中。

1、 安装两个全局模块

2、 命令行输入指令

3、 检查Express是否全局安装成功,可使用命令:express -V(大写V)或express -h进行验证。

4、 显示版本号即表示安装成功。

5、 用Express搭建项目基础结构

6、 Express 4.x版本默认采用Jade作为页面模板引擎,可通过命令express xxx进行初始化设置。

7、 若要使用ejs,命令应为:express -e xxx。

8、 下载并安装基础模块。

9、 各文件夹及文件说明

10、 bin目录中的www为项目启动入口

11、 项目依赖的模块存放于 node_modules 目录中

12、 公开的静态资源,包括图片、JavaScript和CSS文件。

13、 路由配置文件

14、 视图页面模板

15、 配置项目所需中间件及基础设置

16、 package.json 用于描述项目基本信息,列出所需模块及其版本号。

17、 查看项目运行效果

18、 运行命令:npm start 启动项目

19、 在浏览器地址栏中输入 http://localhost:3000/ 并访问。

20、 路由设计主要有串行与并行两种方式,二者可结合使用,灵活适应不同网络需求。

21、 先谈并行更简单,项目调整如下:

22、 在routes目录中依次新建三个文件,分别为router1.js、router2.js和router3.js。

23、 在 app.js 文件中,于 var users = require(./routes/users); 之后添加新的代码行。

24、 在 app.js 文件中,于 app.use(/users, users); 之后添加相应代码。

25、 三个路由文件router1.js、router2.js、router3.js包含相关路由配置代码,用于定义不同路径的请求处理逻辑。

26、 渲染首页视图,标题为Express 路忌边荡由1,将数据传递给模板并生成页面内容。

27、 });

28、 渲染名为 index 的页面,同时传递标题为Express 路由2的数据参数。

29、 });

30、 渲染页面 index,传入标题为Express 路由3的参数,显示相应内容。

31、 });

32、 三个路由均包含处理路径为 /a 的方法。

33、 访问效果所示

34、 至此,相信大家已理解并行路由的用法。访问路径下所有属于router1的请求均由router1.js文件处理,同理,router2和router3各自对应的请求也分别由其对应的路由文件负责处理。

35、 适用于项目中各模块或不同系统间的协作与集成。

36、 串行驾驶路径设计

37、 在router1.js中添加了.use方法,用于拦截所有匹配的URL请求,确保其先经过该中间件处理,随后再继续执行后续定义的两个路由。

38、 输出信息:已通过第一个路由节点。

39、 })

40、 渲染首页视图,传递标题为Express 路由1的参数,返回页面内容。

41、 });

42、 输出日志:已通过第11号路由节点。

43、 渲染页面并提示:路由11警告,您当前无权访问该资源,请检查权限设置后重试操作。

44、 }

45、 })

46、 渲染首页视图,传递标题信息:路由11提醒:访问成功!,页面正常加载并显示提示内容。

47、 });

48、 输出信息:已通过第12号路由节点。

49、 渲染页面显示:路由12提醒:您当前无权限访问该内容,请检查权限或联系管理员。

50、 }

51、 })

52、 渲染首页页面,显示标题为路由12提醒:访问成功!,返回客户端视图响应。

53、 });

54、 访问不同网址可呈现各异的页面效果。

55、 串行路由可用于权限管理,在use方法中进行条件判断,后续路由权限要求逐级提升,需满足之前所有路由条件方可访问。

56、 为何数据传输需依次经过router11和router12,而非反向或随机选择路径?

57、 由于在定义路由时,router1.js 中先引入了 router11,后引入了 router12,因此访问顺序为 router1 → router11 → router12。若调整引用顺序,将 router12 放在前面,则实际访问流程会变为 router1 → router12 → router11。

58、 打开浏览器,输入地址 http://localhost:3000/router1/b,附带参数 data=11 和 title=12,进行页面访问。

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多

内容相关产品

说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具