一、Nodeweb应用的优势:单线程编程模型Q:让用户等待是不可能的,node怎么解决的?A:事件机制介绍1.1非阻塞I/O面临的问题:I/O访问磁盘和网络普遍较慢。用户希望运行平台在读取文件或通过网络发送消息时不会阻塞业务逻辑的执行。节点解决方向:事件、异步API、非阻塞I/ONon-blockingI/O:程序可以在做其他事情的同时发起网络请求获取资源,但是网络操作完成后会回调一个函数运行以处理此操作的结果。Node应用中的异步非阻塞组件1.2Eventloop事件循环Eventloop是一个单向的先进先出队列,它经历了几个阶段:1.定时器开始执行2.运行I/O回调3.使用setImmediatetoarrangecallbacks(允许安排回调在当前队列中的I/O回调完成后立即执行)二、ES6、Node和V82.1ES6和Node可以创建类,使用let和const解决作用域问题Nativepromise和generatortemplatestringarrowfunction……2.2Node和V82.3使用特性组包含V8提供的ES6特性,分别为:shipping、staged、inprogress三组shipping:默认开启staged:runningAdd参数--harmonytoNode(V8团队把所有接近完成的特性放在这个组)inprogress:建议通过grep"inprogress"查询当前可用的inprogressfeature2.4Nodereleaseplanlong-termsupportversion(LTS)当前版本为dailybuildversion3.Node3.1npm自带的工具用于安装npmregistry的包,展示和分享自己的项目...全局安装的包一般是工具和命令3.2核心模块相当于标准库3.2.1文件系统文件系统库fs、路径3.2.2网络TCP客户端和服务器库(net)、HTTP库(http和https)、域名解析库(dns)3.2.3debuggerself内置调试??器支持单步执行和REPL(read-compute-output-loop)Node支持Chrome交互式调试四三个主流Node程序4.1Web应用4.2JavaScript使用的命令行工具和后台程序开发人员ProcessManager和JavaScriptTranslator4.3桌面程序
