
nodejs
黄泽平
深耕前端,努力前进!
展开
-
nodejs系列(1)起步
什么是Node.js?node.js是一个Javascript运行环境,是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。node.js依赖于Chrome V8引擎(V8使用C++开发,可以将Javascript编译成原生机器码),使用事件驱动,非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用,它还对一些...原创 2018-01-25 15:35:07 · 941 阅读 · 0 评论 -
nodejs系列(10)实现socket通信
Socket主要作用是实现客户端与服务端的实时通信保持通话,它不像ajax请求,每次对话完成后都会把连接断开。Socket通信在Node.js中实现其实很简单,没有想象中复杂,基本上只要懂得监听(.on)和推送(.emit)消息,即能实现Socket通信。Socket服务端在服务端使用Socket,需先引入socket.io模块,该模块详细文档可参考https://socket.io/:cnpm ...原创 2018-02-08 14:33:50 · 7427 阅读 · 0 评论 -
nodejs系列(8)文件的压缩和解压
zip压缩解压 zip格式压缩需要引入'archiver'模块,其github地址如下:https://github.com/archiverjs/node-archivercnpm install archiverzip压缩代码示例:// 请求模块var fs = require('fs');var ...原创 2018-02-06 11:50:25 · 6062 阅读 · 0 评论 -
nodejs系列(7)事件处理模块events
大多数 Node.js 核心 API 都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器)。例如,net.Server 对象会在每次有新连接时触发事件;fs.ReadStream 会在文件被打开时触发事件;流对象 会在数据可读时触发事件。所有能触发事件的对象都是 EventEmitter 类的实例。 这些对象开放了一个 eventEmitter....原创 2018-01-31 17:26:38 · 3068 阅读 · 0 评论 -
nodejs系列(6)文件系统处理模块fs
Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node 导入文件系统模块(fs)语法如下所示:var fs = require("fs");该API的主要功能包括创建目录、读写文件、重命名、删除文件等。(注)操作的文件路径可以是相对路径也可以是绝对路径,若为相对路径时,以入口文件index.js作为路径起始位置。(注)API文档中若参数里带有[,option],均表示...原创 2018-01-27 17:41:53 · 506 阅读 · 0 评论 -
nodejs系列(5)网址处理模块url和路径处理模块path相关应用
网址处理模块urlNode.js提供了处理网址的API,require('url')。该API主要作用为处理网址相关的数据。下面例子展示了如何获取当前网址:/********************url测试用例********************/app.get('/url_get', function(req, res) { var url = require('url'); var...原创 2018-01-27 14:11:15 · 1795 阅读 · 0 评论 -
nodejs系列(4)Buffer(缓冲器)
JavaScript的数据类型有字符串、数字、布尔、数组、对象、Null、Undefined,但是却没有处理二进制的数据类型。然而在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库。一个 Buffer 类似于一...原创 2018-01-26 20:55:55 · 1004 阅读 · 0 评论 -
nodejs系列(3)Express框架GET、POST、COOKIE、上传、数据库操作
搭建服务本篇介绍Express框架的几个基本实现:GET实现、POST实现、COOKIE实现、文件上传和数据库操作。要注意,以下所有测试用例都是在上一篇的目录结构基础上创建,在介绍这些实现前,我们首先需要引入必须的包,在index.js下加入源码如下:(注)在routes目录下需提前新建好一个mysql.js文件,否则在下例子中引入MySQL时会报错找不到文件。//准备工作var fs = re...原创 2018-01-26 11:32:23 · 1244 阅读 · 0 评论 -
nodejs系列(2)建立Node项目工程目录与初试Express框架
如何建立工程目录?一个好的工程目录,不仅仅是分分模块目录,更重要的目的是为了利于团队迭代开发和系统维护升级。我常用的Node.js项目目录如下所示(本目录仅作为参考,应以自己的实际项目需求为依据建立):core目录:存放核心代码,如数据库交互、关键逻辑等脚本文件 。public目录:存放静态资源。assets目录:存放如图片、音频、视频等静态资源。css目录:存放css样式静态资源。js目录:存放...原创 2018-01-26 09:50:24 · 1348 阅读 · 0 评论 -
nodejs系列(9)stream (流)
流(stream)在 Node.js 中是处理流数据的抽象接口(abstract interface)。 stream 模块提供了基础的 API 。使用这些 API 可以很容易地来构建实现流接口的对象。Node.js 提供了多种流对象。 例如, HTTP 请求 和 process.stdout 就都是流的实例。流可以是可读的、可写的,或是可读写的。所有的流都是 EventEmitter 的实例。流...原创 2018-02-08 11:18:56 · 717 阅读 · 0 评论