Node.js

Node.js REPL(交互式解释器)
“读取、执行、打印、循环”首字母:REPL
模块
构建自定义包

自定义 Package需要创建一个文件夹,并编辑新建一个 package. json文件,将js文件放在b文件夹下。比如创建一个文件夹 package1,在文件夹中创建一个ib子文件夹,并将4.2.s放在Ib文件夹里。编辑新建一个 package. json文件,内容如图。
发布&更新
如果需要将自定义的 nodes模块发布到npm,就需要个npm的账号,可以在https://www.npmis.com/网上注册,或者 npm adduser然后 npm publish,更新时修改 package. json中的 version重新发布即可。
Node.js回调函数
Node.js异步编程的直接体现就是回调。异步编程依托于回调来实现,回调函数在完成任务后就会被调用。例如,我们可以一边读取文件边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件I/O操作。这就大大提高了Node.js的性能,可以处理大量的并发请求回调函数一般作为函数的最后一个参数出现function fool(name, age, callback)()function foo2(value, callback1, callback2)()//多个回调函数​
回调陷阱

如果我们希望保证操作的执行返回次序,那么就需要采用嵌套回调的方式,见4.7js(如图1);​​如果在比较复杂的业务逻辑下需要实现阻塞式执行,则会陷入“回调陷阱”。还有一种情況,多次调用一个函数时,容易产生回调陷阱,如4.9js(图2)​”回调陷阱“是指为了保证执行顺序(阻塞式运行)而不得不使用多重嵌套,产生了非常多的回调(而且可读性下降)​​。
链式方法避免回调陷阱

Promise对象进行异步控制处理,4.10jsPromise实例生成以后,可以用then方法分别指定resolved状态和 rejected:状态的回调函数。
async/await避免回调陷阱
使用比较多,比较直观
Node.js读写文件
原来的方法:
使用async/await改进:
Web开发
不使用框架
见Assignment1的webclient.js、webserver.js、testpage.html
Express框架
提供了丰富的HTP工具,使用 Express可以快速地搭建一个完整功能的网站。Express,框架核心特性可以设置中间件来响应HTTP请求。定义了路由表用于执行不同的HTTP请求动作。可以通过向模板传递参数来动态渲染HTML页面。安装 Expres: npm install express实例见4.17.js​
Express路由
路由决定了由谁(指定脚本)去响应客户端请求,见4.18.js其实就是访问地址 路径​
静态文件(一种特殊的路由)
Express 提供了内置的中间件 expres. static来设置静态文件如:图片,CS5 Javascript等,一般放在public文件夹下。(以4.19js和4.15.html为例)app. use(/public, express. static(‘public’));//指定静态文件放在这个文件夹里到时候访问127.0.0.1:8080/public/4.15.html​
用html form构建一个GET请求
GET/POST方法皆可,见4.20.js, 4.20.html
文件上传
使用POST方法,见4.22.js, 4.22.html
实现cookie管理
Express脚手架

所谓项目的“脚手架”是一个比喻,实际是个规范化项目的前期准备,类似于模版,比如像ue项自的vue-ci, angular.angular-cll,maven项目的 archetype等等。我们也可以开发自己用的顺手的“脚手架”,比如用 Yeoman工具来开发前端脚手架。Express也提供了一个开发web网站的脚手架。运1tnpm install-g express-generator.在命令行模式下再运行 express eps_1,即可生成个项自eps_1(eps_1文件夹)或者先创建eps_1文件夹,命令行模式进入文件夹中执行 express-e,也可以产生相同的效果。执行脚手架创建的eps_1项目:在eps_1目录下命令行 npm install安装依赖项在eps_1目录下命令行运行 node bin/www。打开 chrome访问htp:/127.0.0.1:3000​
eps_1的文件夹目录

1)package.json应用的配置文件,文件内包含程序的基础信息、启动脚本和依赖包等。2)app.js应用的初始化文件,包括引入应用程序的基础依赖项、设置视图即view的引擎目录以及模板、设置静态资源路径、配置通用的中间件、引入路由和一些错误处理中间件等。​3)bin/www应用的启动文件,文件内包含引用要启动的应用、设置应用监听的端口和启动http服务等。​(www文件其实相当于一个js文件,不过没有.js)4)public/*应用的静态资源文件目录,该目录下的文件资源不需要经过文件映射就可以直接访问。​5)routes/**应用的路由文件,这些路由文件中设置的接口最终会以指定的HTP请求方式暴露给用户,并在用户请求之后将结果返回。不同的路由代表不同的业务逻辑。6)views应用的视图文件,在 app. js中设置好视图引擎和模板之后,该目录即为应用视图的根目录,然后路由文件就会根据 app. js中的设置加载并渲染该目录下的视图文件。
基本脚手架的缺点
在实际开发中,项目的路由文件的数目会因项目复杂度而不同,当项目足够复杂时,我们需要引入的路由文件和需要注册的路由就会更多,同时除了应用本身的404和错误处理中间件之外,还可能根据实际需求新增我们自定义的中间件,如果这些初始化的代码都放置于 app. s中,无疑, app, js文件会越来越大越来越臃肿,这并不是一个很好的选择。同时路由和路由对应的处理函数在一个文件中,这样的处理不够优雅,不便于维护,所以进行路由分离显得很有必要性。当然,这个应用只是生成器工具初始化的一个简单脚手架,并不是最终的样子。
Electron简介

electron是一款可以使用shtm,css来构建跨平合app的开源库, Electron通过将 Chromium和Node.is合并到同一个运行时环境中,并将其打包为Mac, Windows7和 Linux系统下的应用。Electron使用web页面作为它的GU,所以你能把它看作成一个被Javascript控制的,精简版的 Chromium浏览器。最初用来开发 Github的Atom,我们常用的编辑器 Vscode,也是基于Electron构建的。
安装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值