ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:123.28KB ,
资源ID:18296132      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18296132.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(新一代Nodejs的Web开发框架Koa2Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

新一代Nodejs的Web开发框架Koa2Word格式.docx

1、5.4.12. 建立工程下面我们就开始创立Koa2的工程,接下来的操作在window与linux通用,只是编辑器不同而已。进入window的开发目录,新建工程koa2-demo1。# 进入开发目录 cd d:workspacejs# 新建工程、并进入工程目录 mkdir koa2-demo1 & cd koa2-demo1创立一个node工程 d:workspacejskoa2-demo1npm initThis utility will walk you through creating a package.json file.It only covers the most common i

2、tems, and tries to guess sensible defaults.See npm help json for definitive documentation on these fieldsand exactly what they do.Use npm install afterwards to install a package andsave it as a dependency in the package.json file.Press C at any time to quit.package name: (koa2-demo1)version: (1.0.0)

3、description: koa2 demoentry point: (index.js)test command:git repository:keywords:author: DanZhanglicense: (ISC) MITAbout to write to d:workspacejskoa2-demo1package.json:name: koa2-demo1,version1.0.0descriptionkoa2 demomainindex.jsscripts testecho Error: no test specified & exit 1,authorDanZhanglice

4、nseMITIs this ok? (yes) yes这样我们就完成了一个最简单的nodejs工程,在当前的目录下面生成了package.json的文件。接下来,我们来安装koa2的库,到当前的工程中。 npm install koa -s+ koa2.3.0added 37 packages in 12.462s查看当前目录,发现生成了一个node_modules的目录,这个目录存放了koa包所有的依赖的库。然后,我们新建一个启动文件:index.js,用来启动Koa的工程。 notepad index.jsvar koa = require(koa);var app = new koa()

5、;app.use(function *()this.body = Hello World;);app.listen(3000);启动工程 node index.js翻开浏览器: :/localhost:3000/请点击此处输入图片描述看到这界面,那么恭喜你,第一步成功了。3. 通过koa-generator来建立工程Koa和Express工程一样,都提供了一种脚手架的方式来创立工程,使用这么方式会极大地提高开发的效率,但不建议初学者直接使用,高度自动化的生成器,可能会让你不理解实现的原理。接下来,我们用koa-generator来生成一个koa的工程。安装koa-generator,这是一个命

6、令工具,所以需要全局安装。 npm install -g koa-generator然后,我们创立koa2的工程时,就可以直接使用koa2的命令了。# 生成koa2工程 koa2 koa2-demo2 create : koa2-demo2 koa2-demo2/package.json koa2-demo2/app.js koa2-demo2/public koa2-demo2/public/stylesheets koa2-demo2/public/stylesheets/style.css koa2-demo2/public/javascripts koa2-demo2/public/i

7、mages koa2-demo2/routes koa2-demo2/routes/index.js koa2-demo2/routes/users.js koa2-demo2/views koa2-demo2/views/index.pug koa2-demo2/views/layout.pug koa2-demo2/views/error.pug koa2-demo2/bin koa2-demo2/bin/www install dependencies: cd koa2-demo2 & npm install run the app: SET DEBUG=koa* & npm start

8、 koa2-demo2进入工程,并安装依赖库 cd koa2-demo2 & npm run start koa2-demo20.1.0 start d:workspacejskoa2-demo2 node bin/www翻开浏览器如果你看到的界面,和上面的一样,那么恭喜你,用koa-generator生成的koa2的工程,也能正常工作了。这里你可以发现,用koa-generator时,只要一条命令就够了,程序会给你生成很多文件,直接就构建好了一个工程的根底。4. 目录结构接下来,我们就基于koa2-demo2的工程来分析,看一下生成出来的工程目录结构。我们用一个文本编辑器来翻开这个工程,这样

9、可以看得更清楚一些。bin, 存放启动工程的脚本文件node_modules, 存放所有的工程依赖库。public,静态文件(css,js,img)routes,路由文件(MVC中的C,controller)views,页面文件(pug模板)package.json,工程依赖配置及开发者信息app.js,应用核心配置文件package.json,node工程配置文件package-lock.json,node工程锁定的配置文件5. app.js 文件分析app.js 是应用核心配置文件,我们把这个文件能够看明白,整理koa就非常容易了。app.js文件,我们可以分割为X个局部进行解读:依赖包加

10、载、错误处理、中间件加载、web界面渲染模板、自定义日志、自己定义路由、外部调用接口。/ 依赖包加载const Koa = require()const app = new Koa()const views = require(koa-viewsconst json = require(koa-jsonconst onerror = require(koa-onerrorconst bodyparser = require(koa-bodyparserconst logger = require(koa-loggerconst index = require(./routes/indexcon

11、st users = require(./routes/users/ 错误处理onerror(app)/ 中间件加载app.use(bodyparser(enableTypes:json, formtext)app.use(json()app.use(logger()app.use(require(koa-static)(_dirname + /public)/ web界面渲染模板app.use(views(_dirname + /views, extension: pug/ 自定义日志app.use(async (ctx, next) =const start = new Date()awa

12、it next()const ms = new Date() - startconsole.log($ctx.method $ctx.url - $msms)/ 自己定义路由app.use(index.routes(), index.allowedMethods()app.use(users.routes(), users.allowedMethods()/ 外部调用接口module.exports = app麻雀虽小,五脏俱全!通过app.js的配置,就可以把一个web工程给组装起来了。6. 路由管理普通的web应用,通常都是多个页面组成,每个页面会对应一个URL的地址,用户在浏览器输入UR

13、L可以翻开不同的页面。路由管理,就是把URL和页面的关系对应起来的。在 app.js 中,路由来提取到 ./routes/index.js 和 ./routes/users.js 两个文件中进行实现了。以 ./routes/index.js 文件来举例说明。 notepad ./routes/index.jsconst router = require(koa-router)()/ 解析/router.get(, async (ctx, next) = await ctx.render(indextitle:Hello Koa 2!/ 解析 /stringctx.body = koa2 str

14、ing/jsonctx.body = koa2 jsonmodule.exports = router从代码中分析,当路径为/时,网页会返回Hello Koa 2!;当路径为/string时,网页会返回koa2 string;哪路径是/json时,网页会返回koa2 json。7. 页面渲染从上面路由中,我们看到路径/的输出,是一个被渲染为网页输出,而/string和/json的输出是直接字符的输出。传统的web应用,大都是后台渲染的机制。新型的单面应用来说,前后端别离的设计,根本不需要后端来渲染,直接输出json就可以了。对后台渲染的实现,我们可以参考/的实现。上面代码中,通过 await

15、ctx.render(index,) 这样的语法,就可以加载pug的模板引擎。await是ES6的关键字,用于把异步代码同步化,就不再写回调函数了(callback)。ctx.render()函数,用于加载渲染引擎。然后,我们找到views中的index.pug文件。 notepad ./views/index.pugextends layoutblock contenth1= titlep Welcome to #title在index.pug文件中,有一个参数是后台传过来的,就是title,同时index.pug继承了layout.pug。再翻开layout.pug文件。doctype h

16、tmlhtmlheadtitle= titlelink(rel=stylesheet, href=/stylesheets/style.cssbodylayout.pug文件,是整个html的骨架,这样就可以通过后台要渲染为一个HTML的网页了。翻开chrome浏览品质开发人员工具,看到HTML的代码的结构,与layout.pug和index.pug结构是一致的。8. 日志分析最后要说的就是效劳器日志了,每一次的浏览行为,都会产生一条效劳器日志,用于记录用户的访问情况。我们后台通过命令行启动后,后台的效劳器就会一直存活着,接收浏览器的请求,同时产生日志。日志中,200表示正常访问,404是没有对应的URL错误。你会看到每次访问的路径都被记录了,包括后台的路径和css的文件路径,还包括了访问协议,响应时间,页面大小等。我们可以自定义日志格式,记录更多的信息,也可以记录对自己有用的信息。这样我们就构建出一个最小化的web应用了。Nodejs的开展速度,远远超越了其他语言的开展,我看好Nodejs,希望能给入门Nodejs的朋友一些帮助。加油!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1