nodeJS
文章平均质量分 71
charlene程程
这个作者很懒,什么都没留下…
展开
-
nodejs中的中间件--Multer
中间件MulterMulter是nodejs中处理multipart/form-data数据格式(主要用在上传功能中)的中间件。该中间件不处理multipart/form-data数据格式以外的任何形式的数据 Tips:multipart/form-data是用来指定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或者mp3等等 * 安装方法$ npm install --save原创 2016-04-14 18:46:22 · 9592 阅读 · 1 评论 -
NodeJS中的错误处理
这篇文章会回答NodeJS初学者的若干问题:我写的函数里什么时候该抛出异常,什么时候该传给callback, 什么时候触发EventEmitter等等。我的函数对参数该做出怎样的假设?我应该检查更加具体的约束么?例如参数是否非空,是否大于零,是不是看起来像个IP地址,等等等。我该如何处理那些不符合预期的参数?我是应该抛出一个异常,还是把错误传递给一个callback。我该怎么在程序里区分不同转载 2016-08-06 17:23:50 · 5909 阅读 · 0 评论 -
nodejs中的fs模块
fs模块为nodejs的核心模块之一,主要处理文件的读写、复制、s删除、重命名等操作。当需要使用该模块时,需要先导入该文件var fs = require('fs');nodejs文件系统中的方法均有异步和同步两种版本,例如读取文件内容的函数有异步的fs.readFile()和同步的fs.readFileSync().fs中的读写操作文件模块中提供了基本的读写操作、buffer二进制操作和流操作。原创 2016-05-30 21:03:34 · 8841 阅读 · 0 评论 -
NodeJS中的异步I/O、事件驱动
nodejs的主要特点是单线程、异步I/O、事件驱动。让我们先大概了解一下这些名词的意思。单线程单线程是任务按照顺序执行的,并且每次只执行一个任务,只有前面的任务执行完成以后,后面的任务才执行。在JS引擎中负责解释和执行Javascript代码的线程只有一个,即主线程。但实际上还存在其他的线程。例如处理AJAX请求的线程、处理DOM事件的线程、定时器线程、读写文件的线程等。这些线程可能存在与JS引擎原创 2016-06-19 09:25:51 · 8111 阅读 · 4 评论 -
nodeJS中的事件--event
nodeJS中大部分模块,都继承自Event模块。Event模块是一个简单的事件监听器模式的实现,具有addListener/on,once,removeListenter、removeAllListener、emit等基本的额事件监听模式方法的实现。它与前端DOM树上的事件并不相同,因为它不存在冒泡,逐层捕获等属于DOM的事件行为,也没有preventDefault()、stopPropagati原创 2016-06-19 10:23:04 · 2090 阅读 · 0 评论 -
利用generator(thunk化函数/promise方法)处理回调地狱的问题
在Nodejs中是通过回调函数控制异步过程的,但是当多个事件之间相互依赖,或多个事件一起协作时,就会导致函数嵌套过深的情况。如下是一个在项目中显示文章详情页的的代码,我们看到这个函数嵌套了七八层。这样的嵌套很容易因为缺少括号发生错误。另外,当一个回调函数中出现错误,整个程序就会退出,并提示错误信息。 //查看文章详细信息app.get("/detail/:author/:title"原创 2016-07-19 14:01:15 · 1875 阅读 · 0 评论 -
node.js模块--formidable
formidable模块实现了上传和编码图片和视频。它支持GB级上传数据处理,支持多种客户端数据提交。有极高的测试覆盖率,非常适合在生产环境中使用。安装方法这是一个低版本的包,如果在开发中使用高版本的框架(如Express),formidable模块已经包含在框架中。具体用法参考:讨论。通过npm安装:npm install formidable@latestformidable模块的方法和属性原创 2016-04-24 16:56:00 · 14386 阅读 · 0 评论 -
使用jcrop实现裁切图片
jcrop为基于jquery库实现的图片裁切插件。当使用该插件使需要引入jquery和jcrop(包括js文件和css文件)。 //css文件的引入 <link rel="stylesheet" type="text/css" href="/Jcrop/css/jquery.Jcrop.min.css"> //js文件的引入 <script type="text/javascript" src原创 2016-05-30 18:08:24 · 3607 阅读 · 0 评论 -
node中的path模块
path为nodejs的核心模块之一,主要用来处理文件的路径。当使用时需要引入path模块var path = require("path");这里总结一下path的属性和方法path.normalize(src): 规范化路径,多个斜杠会被替换成一个; 路径末尾的斜杠会被保留; Windows 系统上, 会使用反斜杠var src1 = 'c:/node//de/';console.log(p原创 2016-05-29 19:07:57 · 674 阅读 · 0 评论 -
nodejs中req.body对请求参数的解析问题
首先,先了解一下关于http协议里定义的四种常见数据的post方法,分别是: application/www-form-ulrencoded multipart/form-data application/json text/xmlExpress依赖bodyParser对请求的包体进行解析。默认支持application/json,application/www-form-urlencode原创 2016-04-20 11:28:08 · 42543 阅读 · 0 评论 -
node初识
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 和 PHP、Perl 、ASP 、JSP 一样,目的都是实现动态网页,也就是说由服务器动态生成 HTML 页面。之所以要这么做,是因为静态 HTML 的可扩展性非常有限,无法与用户有效交互Node.js和其他语言的原创 2016-04-16 19:51:20 · 445 阅读 · 0 评论 -
利用中间件Multer实现上传功能
Multer中间件实现对multipart/form-data格式的数据的操作现在实现上传图片的功能,上传文件完成后,背景图片显示上传的图片首先在html文件中添加文件上传标签<input type="file" id="file" name="files" /> 创建upload.js文件,定义ajax上传文件的方法。这里运用了XHR2的FormData对象。FormData对象可以发送二进制文件原创 2016-04-14 19:29:40 · 5529 阅读 · 0 评论 -
ES6中的Promise相关知识简述
Promise是抽象异步处理对象以及对其进行各种操作的组件。它把异步处理对象和处理规则进行规范化,并按照采用统一的接口来编写,而采用规定方法之外的写法都会出错。 ES6原生提供了Promise对象。我们来看一下Promise的用法 首先创建一个promise对象,创建promise对象的流程如下 1 new Promise(fn)返回一个promise对象 2 在fn中指定异步等处理原创 2016-06-19 13:35:24 · 1410 阅读 · 0 评论