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,进行页面访问。
