nodejs学习之模块:crypto和body-parser

1:关于模块crypto;

我在使用crypto.cpmpare(源码在下面),忘记了些第二个参数,导致老是出现‘data and hash must be strings‘,

找了好长一些时间,最后通过看源码,发现是第二个参数没写;

 1 /// compare raw data to hash
 2 /// @param {String} data the data to hash and compare
 3 /// @param {String} hash expected hash
 4 /// @param {Function} cb callback(err, matched) - matched is true if hashed data matches hash
 5 module.exports.compare = function(data, hash, cb) {
 6     if (data == null || data == undefined || hash == null || hash == undefined) {
 7         throw new Error(‘data and hash arguments required‘);
 8     } else if (typeof data !== ‘string‘ || typeof hash !== ‘string‘) {
 9         throw new Error(‘data and hash must be strings‘);
10     }
11
12     if (!cb) {
13         throw new Error(‘callback required for async compare‘);
14     } else if (typeof cb !== ‘function‘) {
15         throw new Error(‘callback must be a function‘);
16     }
17
18     return bindings.compare(data, hash, cb);
19 };

2:关于模块body-parser;

之前这个功能是作为express的中间件用得,如下:

app.use(express.bodyParser())

//现在已经没有和express绑定了,直接作为node的一个模块使用:

var bodyParser = require(‘body-parser‘)

如果不用这个,在req.body时根本找到不到数据。

时间: 2024-11-07 15:12:37

nodejs学习之模块:crypto和body-parser的相关文章

nodejs学习(模块的简单了解)

1.模块模块(Module)是nodejs最重要的支柱,开发一个具有一定规范的程序不可能只用一个文件, 通常我们需要把各个功能拆分,封装,然后在组合在一起,模块正是为了现在这种方式而诞 生的.在浏览器的javascript中,脚本模块的拆分和组合通常情况下我们都使用Html的 Script标签来实现,但是nodejs给我们提供了require这个函数来调用其他的模块.-----------------------------------------------------------------

Nodejs学习之net模块相关用法详解

net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socket).也就是说,做node服务端编程,net基本是绕不开的一个模块.本文就和大家详细扒一扒Nodejs的net相关用法,希望对大家学习Nodejs 有所帮助吧.  从组成来看,net模块主要包含两部分,了解socket编程的同学应该比较熟悉了:  · net.Server:TCP server,内部

nodejs学习资料

NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS

NodeJS学习之2:express版的Hello World

接着 NodeJS学习之1:express安装 的结果: 我们继续应用程序的编写. 新建一个 app.js 文件 $ touch app.js copy 进去这些代码 // 这句的意思就是引入 `express` 模块,并将它赋予 `express` 这个变量等待使用. var express = require('express'); // 调用 express 实例,它是一个函数,不带参数调用时,会返回一个 express 实例,将这个变量赋予 app 变量. var app = expre

nodejs学习四 Node.js NPM

什么是NPM? 不知道大家注意没有,windows平台下的Node.js安装包大小才区区4M多,真可以用短小精悍来形容它,作为一种编程语言,像java一个SDK 就几十M,为什么node.js的运行环境这么小呢?这其中的微妙之处在于,它拥有一个庞大的第三方软件库. 在Node本身提供的包(原生)中没有我们要实现的功能模块的时候,我们可以去寻找下是否已经有人实现了这种功能.毕竟重复造轮子这种事情,很多人都不想干. 去哪里寻找我们想要的包呢?如果你还不知道报的名字,你可以去https://www.n

NodeJS学习指南

七天学会NodeJS NodeJS基础 什么是NodeJS 有啥用处 如何安装 安装程序 编译安装 如何运行 权限问题 模块 require exports module 模块初始化 主模块 完整示例 二进制模块 小结 代码的组织和部署 模块路径解析规则 包(package) index.js package.json 命令行程序 Linux Windows 工程目录 NPM 下载三方包 安装命令行程序 发布代码 版本号 灵机一点 小结 文件操作 开门红 小文件拷贝 大文件拷贝 API走马观花

nodejs学习笔记之安装、入门

由于项目需要,最近开始学习nodejs.在学习过程中,记录一些必要的操作和应该注意的点. 首先是如何安装nodejs环境?(我用的是windows 7环境,所以主要是windows 7的例子.如果想看linux下的安装可以参考http://www.cnblogs.com/meteoric_cry/archive/2013/01/04/2844481.html) 1. nodejs提供了一些安装程序,可以去官网(http://nodejs.org/download/)按照自己的机器进行下载,下载完

nodejs学习三 process对象

rocess对象,我说的是对象.这个对象包含的方法和属性非常的多,它向我们打开了一个通往Node.js的大门,让我们队Node.js有更多的了解. 你知道安装的Node.js的版本吗? 你知道你的Node安装在上面平台下吗? 你知道你的Node可执行文件的绝对路径吗? 你想得到你env环境变量内容吗? 上面输入的信息你可以更具体点,比如console.log(process.env.OS) 你想得到命令行上的参数吗? 好了,下面我们来写一个js.命名process.js 在命令行上运行它: 我们

nodejs学习二 深入了解console

上一篇我们用console.log编写了第一个程序,虽然如此简单.那么我就从它来说说Node.js中的对象. 对于学过Java .net 的人来说,对象这个词应该都很亲切,如果不觉得亲切,还是先学习一下面向对象. 我们编程中,一切皆对象.你可以把任何一个东西当做对象. 然而,Node.js中也存在对象,而console也是一种对象.既然是对象,他应该有公有的方法.正如你所看到的,log就是它的方法,貌似还是静态的. 那么console中有哪些方法呢,那我们就让他输出一下吧. 噢,原来consol