node中的req参数
app.get('/',function(req,res){});
这样的代码在node中到处可见
对其中的req参数,简要介绍
req.body post请求信息解析过后的对象,如提交了一个pwd参数,那么就可以通过req.body.pwd获取pwd的域的值
req.flash 是Express提供的一个奇妙的工具,通过他保存的变量只会在用户当前和下一次的请求中被访问,之后会被清楚,通过它我们可以很方便地实现页面的通知和错误信息显示gongneng。
res.redirect是重定向功能,通过他会想用户返回一个303See Other状态,通知浏览器转向相应页面。注意:许多 HTTP/1.1 版以前的浏览器不能正确理解303状态。如果需要考虑与这些浏览器之间的互动,302状态码应该可以胜任,因为大多数的浏览器处理302响应时的方式恰恰就是上述规范要求客户端处理303响应时应当做的。
crypto 是node.js的一个核心模块。用于加密并生成各种散列,使用它之前首先要声明var crypto=require('crypto')。
node.js进阶话题
node分为核心模块和文件模块,核心模块就是node.js标准API中提供的模块,如fs、http、net、vm等。这些都是由node.js官方提供的模块,编译成了二进制代码。可以通过require获得。核心模块有最高的加载优先级,换而言之如果有模块与其命名冲突,node.js总会是加载核心模块。
node中的加载优先级 .js > .json > .node
文件模块加载的有两种方式,一种是按路劲加载,一种是查找node_modules文件夹。
如果require参数以“/"开头,那么就以绝对路径的方式查找模块名称,同样,加载按加载优先级尝试进行
如果不是一'"/" 、 ”./" 、"../" 开头而且该模块也不是核心模块那么就要通过查找node_modules加载模块。
node.js根据实际文件名缓存。而不是require()提供的参数缓存的。也就是说通过require('express')和require('./node_modules/express‘)加载两次。也不会重复加载。