超实用的Node.js代码段
  • 推荐0
  • 收藏0
  • 浏览902

超实用的Node.js代码段

周敏 , 薛淑英 (作者) 

  • 丛  书:代码逆袭
  • 书  号:978-7-121-27431-2
  • 出版日期:2015-11-11
  • 页  数:365
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:董英
本书精选300余段Node.js代码,涵盖了服务器端脚本开发中的绝大多数要点、技巧与方法,堪称史上最实用的Node.js框架开发方面的参考书籍,是网站建设与服务器端开发人员的好帮手。本书的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何使用Node.js框架的各项技术。
本书从Node.js框架的使用原理与应用场景出发,对最实用的Node.js代码段进行了全方位的介绍和演示。全书分为15章,包含控制台、模块和包管理、异步I/O与Async流程控制库、Buffer、进程管理、子进程通信、OS操作系统、文件系统、路径处理、TCP/UDP网络编程、流(Stream)、Web开发、常用工具及MySQL与MongoDB数据库交互等Node.js框架技术的内容,对提高网站建设与服务器端开发人员的Node.js技术水平有着非常重要的指导作用。
基于实践和学以致用的原理,全是干货。涵盖控制台、模块、包、异步I/O、Async流程控制、进程通信、TCP/UDP网络编程、流、Web开发、MySQL、MongoDB......
前  言 
近些年Node.js框架作为一种服务器端脚本语言的开发技术,在IT圈内可谓是刮起了一股热旋风。因为大家发现,原来仅仅运行于浏览器端的JavaScript脚本也可以运行在服务器端,这简直太震撼人心了。于是,学习和掌握Node.js框架开发技术成了众多开发设计人员的热切期望。
本书是一本讲解代码实践的书,它为读者全面深入地讲解了针对各种场景的Node.js技术。300余段的代码给读者带来的不仅仅是全面的基础知识,更是为读者提供了设计简洁高效的服务器端代码与网站架构、应对跨平台与跨浏览器兼容、优化服务器性能等切实问题的解决之道。可以说,本书是学习Node.js框架开发技术的高效助手。
Node.js框架中的那些事儿
对于大多数刚刚接触Node.js框架的读者,可能一时无从下手,那么Node.js技术的难点都有哪些方面呢?

? 跨平台与浏览器的兼容
? 正确理解服务器端脚本使用
? 模块和包管理
? 异步I/O与Async流程控制库
? 进程与子进程通信
? 文件与路径处理
? Node.js事件处理机制
? TCP/UDP网络编程
? HTTP/HTTPS应用编程
? Node.js与AJAX应用
? Node.js与数据库交互

以上所有内容在本书的代码中都有讲解,除了这些常见Node.js技术难点外,本书还力求将最有用的Node.js代码段汇总在一起,提供各种解决实际问题的方案。
Node.js框架学习方法
11个字就能帮助我们更好地学习Node.js。
? 多看、多练:观摩成功的网页设计,分析并练习网页设计中常用的代码。
? 多想、多问:思考设计实现的原理,提出自己的问题并通过各种渠道来寻找答案。
? 多总结:记录前人已经探索出来的Node.js技巧,总结实战中碰到的问题及解决方案。

只要真正能做到勤思考、勤动手、勤总结,Node.js学习定能一马平川。
本书的编写特点
? 独特的Node.js切入点
与市面上其他Node.js相关的书不同,本书从最常见的场景应用角度出发,直接应用Node.js代码段实现功能操作,全部是最实用的例子,全部是最透彻的分析!
? 内容丰富,知识全面
本书以Node.js框架各个模块的场景应用作为基础,立体式、全方位地解释各种场景下的Node.js代码段应用,场景丰富、实例丰富,并拥有良好的可扩展性、可复用性。
? 去中心化,分布式学习
本书的代码实例都是独立的,读者可以从中间开始学,也可以从头开始学。代码跨平台、跨设备,可以在平板电脑上学,也可以在PC上学,甚至,手机上写代码也是完全可能的。
? Node.js框架原理与实践相结合
Node.js框架是一个强大的服务端脚本开发库,无论读者具有什么编程背景,都可以通过它来优化、改进自己的服务器网站。本书的代码段基于简单易学的原理,提供了丰富多样的操作特性,这使得本书成为了适用于各类脚本编程的必备工具。
? 涵盖内容全面
本书的实例从控制台应用、模块和包管理、异步I/O与Async流程控制库、Buffer、进程管理、子进程通信、OS操作系统、文件系统、路径处理、TCP/UDP网络编程、流(Stream)、Web开发、常用工具及数据库交互等方面的内容出发,由简入繁、点面结合、配合原理解释,给读者呈现了一场代码盛宴。
? 自发式学习
在学习代码前,先让读者练习实际上最基础却最容易做错的Node.js框架代码和面试题,激发读者的学习斗志。

本书的设计始于功能、终于代码,是IT设计人员的案头必备参考书。
本书的内容安排
本书共15章,各章节实现了不同类别的Node代码段。
第1章 主要介绍了Node.js框架的控制台模块,通过该模块的方法可以向操作系统控制台实现各种格式化输入和输出等操作,也就是读者所熟知的“读取-求值-输出”循环(Read-Eval-Print Loop,简称REPL)交互式的编程环境。
第2章 主要介绍了Node.js框架自有的一套模块加载系统,通过该模块可以把各个功能拆分、封装到不同的模块之中,在需要的时候调用该模块。Node.js框架使用模块和包来组织管理,从性质及加载方式上可以分为以下几类内容:核心模块、文件模块、从文件夹加载、文件夹作为模块和模块缓存。
第3章 主要介绍了Node.js异步I/O编程,Node.js框架在设计之初就被考虑作为一个高效的Web服务器而存在,因此高效的异步机制贯穿于整个Node.js框架的编程模型之中。通过本章的介绍,读者可以学到异步I/O机制、异步I/O应用和Async流程控制库应用等Node.js框架异步编程的内容。
第4章 主要介绍了Node.js框架中Buffer的概念,它可以理解为是缓冲区或临时存储区,是暂时存放输入、输出数据的一小块内存。如果读者学过C语言编程,对指针数组的概念有一定的了解的话,那么学习和掌握Node.js框架的Buffer就会容易很多。
第5章 主要介绍了使用Node.js框架中功能强大的进程管理模块(Process)的方法。Process模块是Node.js框架的一个全局内置对象,Node.js代码可以在任何位置访问该对象,实际上这个对象就是Node.js代码宿主的操作系统进程对象。使用Process模块可以截获进程的异常、退出等事件,可以获取进程的环境变量、当前目录、内存占用等信息,还可以进行工作目录切换、进程退出等操作。
第6章 主要介绍了使用Node.js框架的child_process模块创建子进程的四个方法,分别是spawn()、exec()、execFile()和fork()。其中spawn()是最原始的创建子进程的方法,其他三个都是通过对spawn()方法不同程度的进一步封装实现的。使用child_process模块提供的这些方法,可以实现多进程任务、操作shell和进程通信等操作,实用功能是非常强大的。
第7章 主要介绍了Node.js框架中的操作系统(OS)模块,该模块提供了一系列与操作系统相关的函数方法,不过这些方法相对简单,实现的功能也十分有限。
第8章 主要介绍了Node.js框架中的文件系统(File System)模块如何来支持I/O操作的方法,这些操作方法是对标准POSIX函数的简单封装,它提供了文件的读取、写入、更名、删除、遍历目录、链接等POSIX文件系统操作。
第9章 主要介绍了Node.js框架中的路径处理(Path)模块、url路径处理(url)模块以及字符串解析(Query String)模块,这些模块提供了一系列与路径解析处理相关的函数方法,这些方法对于处理常规的需求是足够的。
第10章 主要介绍了Node.js框架中对TCP/UDP网络编程方面的支持,Node.js框架为设计人员提供了网络(Net)模块来支持TCP协议应用,数据报套接字(UDP)模块来支持UDP协议应用,这两个模块提供了一系列与网络应用相关的函数方法,通过这些方法可以构建基本的网络应用。
第11章 主要介绍了Node.js框架中的抽象接口流(Stream)模块,流(Stream)模块操作最主要的是.pipe()方法,它可以为开发者提供可以重复使用的统一的接口,通过抽象的流(Stream)接口来控制流(Stream)之间的读写平衡。
第12章 主要介绍了应用Node.js框架中的HTTP模块与HTTPS模块开发Web应用的方法,这两个模块基于HTTP协议与HTTPS协议开发,提供了一系列与Web应用开发相关的函数方法,通过这些方法可以构建各种功能复杂且强大的Web应用。
第13章 主要介绍了Node.js框架中的常用工具(Util)模块,该模块是为了解决核心JavaScript的功能过于精简而设计的。该模块可以实现对一个原型对象的继承功能,实现对象格式化操作、将任意对象转换为字符串操作、调试输出功能、正则表达式验证等。
第14章 主要介绍了Node.js框架与MySQL数据库交互的方法,主要选用的是目前人气最高的node-mysql开源项目作为Node.js框架MySQL扩展库,该开源项目提供了MySQL数据库对Node.js框架的完整支持,具有一套与数据库开发相关的函数方法,通过这些方法就可以非常方便地构建Node.js数据库应用。
第15章 主要介绍了Node.js框架与MongoDB数据库交互的方法,主要选用的是同名的mongodb开源项目作为Node.js框架的MongoDB扩展库,该扩展库具有一套与数据库开发相关的函数方法,通过这些方法就可以非常方便地构建Node.js数据库应用。
本书面对的读者
? Web服务器设计入门者
? Web服务器开发入门者
? Node.js框架学习爱好者
? 由JavaScript向Node.js框架转型的开发人员
? 中小型企业网站开发者
? 大中专院校的学生
? 各种IT培训学校的学生
? 网站后台开发人员
? 网站建设与网页设计的相关威客兼职人员
本书的服务
笔者能力有限,如果读者发现我们在写作过程中有什么疏漏,或者您对本书有什么疑问,可通过以下方式与我们沟通。

? QQ群:296811675,作者在线答疑。
? 扫描封底的微信二维码,时刻参与我们的图书互动。
? 通过新浪微博@博文视点Broadview,了解我们发布的信息和各种前端流行技术。
? 博文视点官方网站http://www.broadview.com.cn/,下载本书所有实例源代码。
? Github,https://github.com/kingwjz/Node.js-code,了解代码的实时更新和迭代过程,可以在每章代码下参与讨论,也可以观看其他读者提出的问题,还可以随时随地下载代码。

很多读者在学习过程中苦于无法交流,小故障无法及时解决,加入我们的服务方阵,我们将为您提供终生免费的服务。一本书、一段情、一辈子。
本书的思维导图

编者推荐
本书摒弃传统的说教模式,每段代码都是单独的功能型页面,读者可以从全书的任意一点开始线性阅读。本书的目的就是将最有用的代码与读者分享,包含了服务器设计人员在实战中必须具备的所有技巧和方法,读者可以拿来就用。本书300余段代码也许并不是最优的代码,但笔者提供了Github地址,与全世界IT工程师一起优化了这些代码,并实现了更新迭代,以保证读者始终能看到最好的、最高效的、最实用的Node代码段。这是一本市场上绝无仅有的Node实战书,是一本值得拥有的Node设计书。

目录

目  录 
第1章 Node.js控制台模块应用 1
1.1 Node.js版之“Hello World”程序 1
1.2 日志输出与信息输出功能 3
1.3 字符串格式化的应用 5
1.4 数值型格式化的应用 6
1.5 JSON数据交换格式应用 7
1.6 测试特殊运算符如何取值 8
1.7 特殊格式化参数应用 9
1.8 斐波那契(Fibonacci)数列应用 10
1.9 错误与警告提示应用 11
1.10 重定向标准错误输出流 12
1.11 查看Node.js对象的属性和方法 13
1.12 时间计时器应用 14
1.13 查看当前调用栈的方法 16
1.14 对表达式结果进行评估 17
1.15 读取命令行输入信息 18
1.16 阶乘运算输出 20
1.17 向控制台输出组合控制键 22
1.18 模拟一个简单的控制台界面 23
1.19 输出水仙花数 26
1.20 输出质数 27
1.21 打印输出杨辉三角 28
1.22 汉诺塔(Hanoi)问题 30
1.23 简单四则运算应用 33
第2章 Node.js模块与包管理 36
2.1 Node.js框架加载核心模块 36
2.2 Node.js框架加载文件模块 37
2.3 从node_modules文件夹中加载 39
2.4 模块的循环调用问题 40
2.5 module.exports对象应用 42
2.6 module.exports对象与exports对象 43
2.7 汇率换算实用程序 45
2.8 简单计数器实用程序 46
2.9 包管理之package.json详解 49
2.10 基于包管理的四则运算应用 52
第3章 Node.js异步I/O与Async流程控制库 58
3.1 Node.js框架异步机制基础 58
3.2 Node.js框架异常捕获机制 60
3.3 Async串行流程控制 62
3.4 Async瀑布模式流程控制 64
3.5 Async并行流程控制 66
3.6 Async限制性并行流程控制 67
3.7 Async循环流程控制 69
3.8 Async队列流程控制 72
第4章 Buffer模块处理 75
4.1 定义Buffer对象的基本方法 75
4.2 定义Buffer对象的特别方法 77
4.3 如何判断Buffer对象 79
4.4 获取Buffer对象字节长度 80
4.5 读取Buffer对象 82
4.6 写入Buffer对象 84
4.7 Buffer对象转字符串 86
4.8 Buffer对象裁剪 88
4.9 拷贝Buffer对象 89
4.10 正确拼接Buffer 91
4.11 应用Buffer操作HTTP Request Header 93
第5章 Node.js进程管理 98
5.1 获取应用程序当前目录 98
5.2 改变应用程序目录 99
5.3 获取系统相关信息 100
5.4 实现标准输出流 105
5.5 实现标准错误流 107
5.6 实现标准输入流 108
5.7 Kill当前进程 109
5.8 Process模块的异步方法 111
第6章 child_process及进程通信 113
6.1 使用spawn方法创建子进程 113
6.2 使用exec方法创建子进程 115
6.3 使用spawn方法绑定系统事件 117
6.4 使用exec方法绑定错误事件 118
6.5 创建子进程查看用户目录 120
6.6 查看用户目录出现错误的处理方法 122
6.7 查看物理内存使用状态 123
6.8 查看子进程pid的方法 125
6.9 创建子进程统计系统登录次数 127
6.10 使用execFile方法创建子进程 128
6.11 使用execFile方法绑定错误事件 130
6.12 使用fork方法获取CPU信息 131
6.13 使用fork方法实现进程间通信 132
6.14 使用fork方法实现斐波那契数列 134
第7章 OS模块应用 138
7.1 获取当前操作系统类型与平台 138
7.2 获取操作系统默认的临时文件目录 139
7.3 获取操作系统主机名 140
7.4 获取操作系统架构 141
7.5 获取操作系统的发行版本 142
7.6 返回操作系统运行时间 143
7.7 获取操作系统内存状态 145
7.8 获取CPU内核信息 146
7.9 获取网络接口信息 147
第8章 文件系统模块应用 149
8.1 重命名文件 149
8.2 打开与关闭文件 152
8.3 截取文件内容 155
8.4 修改文件长度 156
8.5 获取文件信息 158
8.6 更改文件所有权 159
8.7 更改文件权限 161
8.8 创建与删除文件硬链接 163
8.9 创建文件符号链接 165
8.10 读取文件符号链接 168
8.11 相对路径转绝对路径 169
8.12 创建与删除目录 170
8.13 读取文件目录 172
8.14 读文件的应用 173
8.15 功能增强的读文件应用 175
8.16 写文件的应用 176
8.17 功能增强的写文件应用 178
8.18 追加写入文件 180
8.19 监控文件的应用 182
第9章 路径处理应用 185
9.1 规范化字符串路径 185
9.2 合并字符串路径 187
9.3 解析绝对路径 188
9.4 解析相对路径 189
9.5 获取文件夹路径 191
9.6 获取路径中文件扩展名 192
9.7 如何获取路径中最后部分 193
9.8 解析与格式化url路径 194
9.9 url路径转化 196
9.10 url参数转化url对象 197
第10章 TCP/UDP网络应用 199
10.1 创建基本的TCP服务器 199
10.2 创建基本的TCP客户端 201
10.3 创建简单的TCP通信应用 202
10.4 创建TCP服务器的另一种方式 206
10.5 服务器端绑定事件 207
10.6 获取服务器地址参数 210
10.7 获取当前服务器连接数 211
10.8 获取套接字地址 215
10.9 获取远程地址 216
10.10 使用套接字写数据 218
10.11 控制套接字数据流的应用 221
10.12 创建UDP服务器 225
10.13 创建UDP客户端 227
10.14 创建简单的UDP应用 229
10.15 UDP广播服务的实现 233
10.16 模仿简单的聊天室应用 236
第11章 Node.js流(Stream)应用 241
11.1 创建可读(Readable)流 241
11.2 测试可读readable事件处理 244
11.3 使用data事件读取文件 246
11.4 可读流错误事件处理 247
11.5 暂停与恢复可读(Readable)流 248
11.6 使用可读(Readable)流发送数据 251
11.7 使用可读(Readable)流读取文件 252
11.8 使用pipe方法实现复制文件 253
11.9 解除pipe方法设置的流 255
11.10 使用可写(Writable)流写文件 257
11.11 可写(Writable)流drain事件处理 258
11.12 可写(Writable)流finish事件处理 260
第12章 Node.js Web开发 263
12.1 构建一个基本的HTTP服务器 263
12.2 编写一个简单的HTTP客户端 265
12.3 HTTP响应状态码 268
12.4 设定和获取HTTP头文件 271
12.5 写HTTP头文件的方法 273
12.6 发送与处理GET请求 276
12.7 进行重定向操作 278
12.8 服务器多路径处理方式 281
12.9 模拟ping命令连接服务器 284
12.10 安装Express开发框架 286
12.11 使用Express开发框架开发的Hello World 287
12.12 Express开发框架路由处理 292
12.13 应用Express框架实现登录页面 296
12.14 Express框架实现Ajax方式操作 301
第13章 Node.js Util常用工具 306
13.1 原型对象继承 306
13.2 将任意对象转换为字符串 308
13.3 验证是否为数组 310
13.4 验证是否为日期格式 310
13.5 验证是否为正则表达式 311
13.6 验证是否为错误类型 312
13.7 格式化字符串 313
第14章 Node.js与MySQL交互 315
14.1 连接MySQL数据库 315
14.2 查询MySQL数据库 317
14.3 插入MySQL数据库 318
14.4 删除MySQL数据库 320
14.5 更新MySQL数据库 321
14.6 操作MySQL数据库连接池 322
第15章 Node.js与MongoDB交互 325
15.1 连接MongoDB数据库 326
15.2 连接MongoDB数据集合 328
15.3 查询MongoDB数据集合 330
15.4 插入MongoDB数据集合 333
15.5 删除MongoDB数据集合 335
15.6 更新MongoDB数据集合 336

读者评论

下载资源

同系列书

  • 超实用的JavaScript代码段

    席新亮 (作者)

    本书共分为9个章节,书中每个章节均是一个JavaScript的小分类,其中包含表单、图片、内容展示、页面控制、日期处理、页面特效、兼容性、以及跨浏览器开发等关于...

    ¥59.00
  • 超实用的CSS代码段

    赵荣娇 任建智 薛淑英 (作者)

    本书分为11章,每章是一个CSS的小分类,包含文字、字体、边框、图片、按钮、链接、背景、颜色、布局、列表、动画、盒子、兼容性等CSS2和CSS3的各类技术点。全...

    ¥59.00
  • 超实用的HTML代码段

    本书精选300余段HTML代码,覆盖了几乎所有的HTML元素,是网站建设和网页设计人员在设计HTML结构代码时不可或缺的设计方案、技巧和参照。本书的代码从基础的...

    ¥59.00
  • 超实用的Node.js代码段

    周敏 薛淑英 (作者)

    本书精选300余段Node.js代码,涵盖了服务器端脚本开发中的绝大多数要点、技巧与方法,堪称史上最实用的Node.js框架开发方面的参考书籍,是网站建设与服务...

    ¥59.00
  • 超实用的jQuery代码段

    周敏 薛淑英 (作者)

    本书主要介绍目前最实用、最先进和最流行的jQuery代码段。全书共11章,分别讲解了jQuery实现网页操作、jQuery操作HTML中DOM元素与属性、jQu...

    ¥59.00

相关图书

写给大忙人的现代JavaScript

(德国)HORSTMANN, CAY S. (作者) 浙江阿里巴巴聚橙技术发展有限公司 (译者)

本书是一本简明的现代 JavaScript 教程,不仅涵盖函数式编程、JS 语法、JS 库等基础性内容,还介绍了国际化、异步编程、标准模块系统、元编程等较为复杂...

¥109.00

JavaScript 二十年

王译锋 (作者)

本书主要讲述了从 1995 年到 2015 年这20年间,JavaScript在创建、设计和演变方面所经历的过程。全书分为4个部分,每个部分都涵盖了 JavaS...

¥79.00

JavaScript语言精髓与编程实践(第3版)

周爱民 (作者)

本书详细讲述JavaScript作为一种混合式语言的各方面特性,包括过程式、面向对象、函数式和动态语言特性等,在动态函数式语言特性方面有着尤为细致的讲述。本书主...

¥144.00

狼书(卷2):Node.js Web应用开发

桑世龙 (作者)

目前市面的nodejs书籍基于0.10的为多,而基于最新4.X的非常少,本书是唯一一本基于node.js 4.0以上版本的书。而Koa是下一代node web的...

¥69.30

狼书(卷1):更了不起的Node.js

狼叔 桑世龙 (作者)

Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为...

¥55.30

Koa与Node.js开发实战

Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企...

¥49.00