版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
nodea.jsnodemona.jsnpminit-yrequire('express')app.get('/',...)第7章Node.js开发基础课堂讲解《微信小程序开发实战教程(Node.js+MySQL)(AI协同)(微课版)(第2版)》学习目标第7章Node.js开发基础Node.js是一个基于ChromeV8引擎的JavaScript运行时环境。Node.js使用JavaScript语法进行后端开发,代码在Node环境中运行,这使得具备JavaScript知识的开发人员可以快速上手,降低了学习成本。Node.js可高效处理高并发请求,适合构建Web服务器、RESTfulAPI等应用。借助npm包管理器,开发者可使用丰富的第三方包快速搭建功能模块。例如,仅用几行代码就可通过Express.js完成Web服务器的路由配置。1能够安装Node.js并掌握Node.js的相关知识。2掌握CommonJS模块规范。3了解Express。4熟悉路由处理。27.1
安装Node.js第7章Node.js开发基础【演练7.1】安装Node.js。1在Node.js中文网中下载所需Node.js版本,这里选择的是适用于Windows64位操作系统的Node.js,如图7-1所示。2下载完成后,单击“运行”按钮。图7-1
下载Node.js37.1
安装Node.js(续)第7章Node.js开发基础【演练7.1】安装Node.js。3打开安装向导的欢迎界面,单击“Next”按钮,如图7-2所示。4接受用户许可协议,勾选“IacceptthetermsintheLicenseAgreement”复选框,单击“Next”按钮,如图7-3所示。图7-2
欢迎界面图7-3
接受用户许可协议47.1
安装Node.js(续)第7章Node.js开发基础【演练7.1】安装Node.js。5选择安装文件夹,单击“Next”按钮,如图7-4所示。6选择安装方式,单击“Next”按钮,如图7-5所示。图7-4
选择安装文件夹图7-5
选择安装方式57.1
安装Node.js(续)第7章Node.js开发基础【演练7.1】安装Node.js。7选择Tools,保持默认设置,单击“Next”按钮,如图7-6所示。8单击“Install”按钮,开始安装,如图7-7所示。图7-6
选择Tools图7-7
开始安装67.1
安装Node.js(续)第7章Node.js开发基础【演练7.1】安装Node.js。9单击“Finish”按钮,完成安装,如图7-8所示。图7-8
完成安装77.2
Node.js开发入门第7章Node.js开发基础Node.js是一个基于ChromeV8引擎的JavaScript运行时环境,由瑞安·达尔(RyanDahl)于2009年发布,它让JavaScript能够脱离浏览器,在服务器端运行,与PHP、Python等都是构建服务端应用的选择。Node.js凭借高性能、高并发、全栈统一的语言优势,成为现代Web开发的重要技术栈。1.核心特点Node.js采用事件循环(EventLoop)机制,通过异步非阻塞方式处理I/O操作(如文件读写、网络请求等),避免线程阻塞,大幅提升了系统在高并发场景下的处理能力。虽然Node.js采用单线程模型,但通过异步回调、Promise与async/await等机制,可以高效地处理大量并发请求,既减少了资源开销,又降低了多线程编程的复杂性。Node.js基于ChromeV8引擎执行JavaScript代码,拥有极高的代码执行效率和内存管理性能,运行速度接近原生编译语言。87.2
Node.js开发入门(续)第7章Node.js开发基础2.基础语法Node.js的语法体系与浏览器端JavaScript基本一致,但由于Node.js的运行在服务器端,因此不具备DOM和BOM等浏览器对象模型,其代码执行方式更接近后端逻辑处理。同时,Node.js采用CommonJS模块规范,通过require()方法引入模块,通过module.exports导出模块,实现了程序的模块化组织与功能复用,使开发者能够以清晰的结构构建大型应用。3.内置模块Node.js内置了功能完善的核心模块,开发者无须额外安装即可直接使用。fs模块用于文件的读取与写入操作,http模块用于创建HTTP服务器并处理客户端请求,path模块用于路径的拼接与解析,这些模块共同构成了Node.js服务器端开发的基础支撑体系。97.2
Node.js开发入门(续)第7章Node.js开发基础4.第三方库除了内置模块,Node.js还拥有庞大的第三方库,开发者可通过npm轻松安装和管理依赖包。例如,使用Express框架快速搭建Web应用与RESTfulAPI,使用Axios进行HTTP请求处理,借助Mongoose、Sequelize等库实现数据库操作。5.异步编程Node.js以异步编程为核心特征之一,通过异步回调、Promise及async/await等多种机制管理异步任务,能够在不阻塞主线程的前提下同时处理大量并发请求,从而提升系统性能与响应速度。其中,Promise和async/await的引入有效缓解了“回调地狱”问题,使异步代码的逻辑更加直观、结构更易于维护。6.实战应用在实际应用中,Node.js常用于构建Web应用与实现全栈开发,可基于Express框架快速搭建RESTfulAPI,实现路由设计、中间件管理及数据库(如MySQL、MongoDB等)交互;同时还能与React、Vue等前端框架协同使用,形成前后端统一的JavaScript技术栈,从而在提升开发效率的同时,增强系统的可维护性与一致性。107.2
Node.js开发入门(续)第7章Node.js开发基础【演练7.2】Hello程序。1自行下载并安装VisualStudioCode(简称VSCode)。2准备一个空的项目文件夹test2。3启动VSCode,打开文件夹test2。117.2
Node.js开发入门(续)第7章Node.js开发基础【演练7.2】Hello程序。3启动VSCode,打开文件夹test2。4在项目根目录下创建文件a.js,内容如下。console.log("Hello");127.2
Node.js开发入门(续)第7章Node.js开发基础【演练7.2】Hello程序。5如图7-9所示,按Ctrl+`组合键进入控制台,默认路径为项目所在文件夹,保持默认路径不变,在控制台中输入nodea.js命令并执行,可以观察到控制台中输出了Hello。6如图7-10所示,单击“+”旁边的下拉按钮,选择“CommandPrompt”选项,可避免因权限问题导致的运行错误。图7-9
Hello程序图7-10
选择“CommandPrompt”选项137.2
Node.js开发入门(续)第7章Node.js开发基础【演练7.2】Hello程序。7如果修改了代码,则需再次执行nodea.js命令。8在控制台中输入如下命令并执行,进行全局安装,以后在任何地方都可以使用nodemon命令。npminodemon–gnodemona.jsnodemon是一个用于Node.js开发的实用工具,它能够自动监视文件变化并重启Node.js应用程序,从而减少手动重启的次数,显著提升开发效率。147.2
Node.js开发入门(续)第7章Node.js开发基础【演练7.2】Hello程序。9修改文件a.js,内容如下。10如图7-11所示,在控制台中输入nodemona.js命令并执行,可以观察到控制台中输出了111。再次修改文件a.js,内容如下。可以看到nodemon自动重启程序并输出了222。console.log("111");console.log("222");图7-11
使用nodemon命令157.3
CommonJS模块规范第7章Node.js开发基础【演练7.3】了解CommonJS模块规范。1准备一个空的项目文件夹test3,在VSCode下打开该文件夹。2在项目根目录下创建文件a.js与a1.js,内容如图7-12所示,注意观察文件的引用及使用方式。图7-12
文件a.js与a1.js的内容167.3
CommonJS模块规范(续)第7章Node.js开发基础【演练7.3】了解CommonJS模块规范。3在控制台中输入如下命令并执行,观察输出结果。4在项目根目录下创建文件b.js与b1.js,内容如图7-13所示,注意观察文件的引用及使用方式。nodea.js图7-13
文件b.js与b1.js的内容177.3
CommonJS模块规范(续)第7章Node.js开发基础【演练7.3】了解CommonJS模块规范。5在控制台中输入如下命令并执行,观察输出结果。6在项目根目录下创建文件c.js与c1.js,内容如图7-14所示,注意观察文件的引用及使用方式。nodeb.js图7-14
文件c.js与c1.js的内容187.3
CommonJS模块规范(续)第7章Node.js开发基础【演练7.3】了解CommonJS模块规范。7在控制台中输入如下命令并执行,观察输出结果。8在项目根目录下创建文件d.js与d1.js,内容如图7-15所示。nodec.js图7-15
文件d.js与d1.js的内容197.3
CommonJS模块规范(续)第7章Node.js开发基础【演练7.3】了解CommonJS模块规范。9在控制台中输入如下命令并执行,观察输出结果。noded.jsCommonJS模块规范通过require()方法引入模块、通过module.exports导出模块,实现了程序的模块化组织与功能复用。207.4
Express第7章Node.js开发基础Express是Node.js平台上流行的、灵活且极简的Web应用开发框架。它旨在简化构建服务器端应用和API的过程,其核心优势在于“极简”与“灵活”,让开发者能专注于业务逻辑,而非底层细节,从而极大地提升了开发效率。【演练7.4】认识最基本的Express项目。1准备一个空的项目文件夹test4,在VSCode下打开该文件夹。2在控制台中输入如下命令并执行,结果如图7-16所示。图7-16
初始化项目217.4
Express(续)第7章Node.js开发基础【演练7.4】认识最基本的Express项目。2npminit-y用于快速初始化一个新的Node.js项目,并自动生成默认的package.json文件,无须用户手动输入信息。3在控制台中输入如下命令并执行。npminit-ynpmiexpress227.4
Express(续)第7章Node.js开发基础4在项目根目录下创建文件index.js,内容如图7-17所示。在控制台中输入如下命令并执行。nodemonindex图7-17
创建文件index.js并执行命令237.4
Express(续)第7章Node.js开发基础5按照提示(Ctrl+单击)打开链接。可以看到Web服务已经启动,但目前还没有处理路由,显示“CannotGET/”,如图7-18所示,这表示当前步骤已正确执行。图7-18
测试项目“CannotGET/”表示Web服务已成功启动,只是还没有为根路径配置路由处理。247.5
路由第7章Node.js开发基础路由负责处理HTTP请求,决定如何根据不同的URL和HTTP方法(如GET、POST、PUT、DELETE等)来分发和处理请求。路由通常用于构建Web应用程序,特别是RESTfulAPI。Node.js本身并没有内置的路由机制,但可以通过Web应用框架(如Express)来实现。【演练7.5】熟悉路由处理。1准备一个空的项目文件夹。例如,在桌面上创建一个名为test5的空文件夹。2启动VSCode,打开文件夹test5。3按Ctrl+`组合键进入控制台,确认路径为项目所在文件夹。257.5
路由(续)第7章Node.js开发基础【演练7.5】熟悉路由处理。3按Ctrl+`组合键进入控制台,确认路径为项目所在文件夹。4在控制台中输入如下命令并执行。npminit-y5安装常用的第三方库,在控制台中输入如下命令并执行。npminstallexpressbody-parsercors267.5
路由(续)第7章Node.js开发基础express是一个快速、轻量且灵活的Web应用框架,能够轻松地处理HTTP请求、路由、中间件等问题。body-parser主要用于解析传入的HTTP请求体(RequestBody)。它简化了从客户端发送到服务器端的数据的解析过程,使开发者能够轻松地访问和处理请求中的数据。cors是一个Express中间件,用于解决前端应用访问后端API时的跨域请求问题。它的全称是Cross-OriginResourceSharing(跨域资源共享)。【演练7.5】熟悉路由处理。6在项目根目录下创建文件a.js,用于实现最简单的路由,内容如下。constexpress=require('express')constapp=express()//挂载路由app.get('/',(req,res)=>{res.send('hello')})app.get('/a',(req,res)=>{res.send('aaa')})app.listen(3000,()=>{console.log(':3000')})277.5
路由(续)第7章Node.js开发基础【演练7.5】熟悉路由处理。7如图7-19所示,在控制台中输入nodemona.js命令并执行,在控制台中按住Ctrl键,单击:3000链接,打开浏览器。图7-19
运行最简单的路由287.5
路由(续)第7章Node.js开发基础【演练7.5】熟悉路由处理。8如图7-20所示,浏览器中当前的地址为:3000,浏览器中输出了hello。对应路由的代码如下。app.get('/',(req,res)=>{res.send('hello')})图7-20
测试路由:3000297.5
路由(续)第7章Node.js开发基础【演练7.5】熟悉路由处理。9如图7-21所示,在浏览器地址栏中输入:3000/a,浏览器中输出了aaa。对应路由的代码如下。10在控制台中按Ctrl+C组合键终止程序运行。app.get('/a',(req,res)=>{res.send('aaa')})图7-21
测试路由:3000/a307.5
路由(续)第7章Node.js开发基础【演练7.5】熟悉路由处理。11学习模块化路由。在项目根目录下创建文件router.js,内容如下。//这是路由模块//1.导入expressconstexpress=require('express')//2.创建路由对象constrouter=express.Router()//3.挂载具体的路由router.get('/user/list',(req,res)=>{res.send('aaa')})
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学一冲刺试卷(2026考研全国统考·含答题卡)
- 思想政治理论(政治)期中试卷(2022考研全国统考·高频考点)
- 2026年大学建筑环境与能源应用工程(暖通空调系统设计)试题及答案
- 内勤综合岗考试题及答案
- 山西省宁武县第三小学度上小学2026年六上数学期末达标检测模拟试题含解析
- 餐馆晋升考试题及答案
- 药师考试题库及答案解析
- 城管员招聘考试题及答案
- 2025年天津市电商企业智能仓库新建可行性研究报告
- 整车运输统筹管理方案
- 《机械制图(多学时)》中职全套教学课件
- 课件twincat ptp实用教程
- 制药企业安全生产培训课件
- 秸秆综合利用技术(与工艺)课件
- 观沧海 公开课一等奖课件
- 驾驶员个人信息登记表
- ISO 22301业务连续性管理体系程序文件全套
- 桂林漓江风景名胜区总体规划
- GB∕T 37697-2019 露天煤矿边坡变形监测技术规范
- 煤气化装置性能考核报告
- 《上海市建设工程施工图设计文件审查合同示范文本(2010版)》
评论
0/150
提交评论